2

のチェックアウト プロセスがわかりませんGit
cli 経由で:
git logと履歴。
1) チェックアウトしたいファイル/バージョンをどのように知ることができますか? ハッシュ/作成者/コメント/日付のみが表示されます。ファイル名ではありません。
2) その場合はgit checkout -commitid-、その前のバージョンに移動します。これは ClearCase でチェックアウトを行うことと同じですか?
3) 最新の変更に戻るには: git checkout master. これは最新バージョンに戻りますが、最新の要素にチェックアウトしますか?

4

3 に答える 3

2

他のバージョン管理システムで使用される用語を混乱させていると思います。 git checkout作業中のブランチを切り替えるコマンドです。 git checkout mastermaster ブランチでの作業に切り替わります。 git checkout testtestという名前のブランチで作業することになります。あなたの質問に答えるために:

  1. この質問はよくわかりませんが、checkout コマンドの誤解から生じていると思います。git 内のファイルのすべてのバージョンは個別のハッシュです。git ログにはすべてのコミットが表示されるため、そこにあるファイルの各バージョンを確認できます。
  2. ブランチを以前の状態に変更するには、git resetコマンドを使用します。 git checkout -commitid-実際に HEAD ポインタをデタッチし、ブランチをチェックアウトしないままにします。これは、そのコミット時の状態を確認するために使用できます
  3. git checkout master は、作業ブランチを master に変更します。最新の変更に戻るために、人々が行うことはたくさんあります。たとえば、既存の変更をスタッシュしてからスタッシュを削除することもあります。
于 2013-05-09T19:03:12.733 に答える
2

ClearCase とは対照的に (私の以前の回答を参照)、git はファイル単位では動作しません。
「要素選択規則」を含む「構成仕様」はありません。

git checkoutファイルに適用できますが、デフォルトでは、ファイルだけでなくすべてのツリーのコンテンツを復元します。
また、 ( ClearCasecleartool checkout,のステータスのように) 変更のためにファイルをマークする (またはロックする) 必要がないため、これは分散環境では意味がありません。git 作業ツリー内のすべてのファイルは、いつでも変更でき、インデックスに追加され、ローカルでコミットできます。CHECKEDOUT

于 2013-05-09T19:29:27.093 に答える
0

git ブランチでは、ハッシュによって一意に識別されるコミットへのリンクにすぎません。特定のコミットをチェックアウトする場合は、そのハッシュを知る必要があります。または、コミットへの「参照」が必要です。ブランチとタグはすべてコミットへの「参照」であるため、コミット ハッシュの代わりにブランチ名を使用して、そのコミット内のファイルをチェックアウトできます。

3) 私が行った最新の変更に戻るには: git checkout master. これは最新バージョンに戻りますが、最新の要素にチェックアウトしますか?

最新バージョンの意味によって異なります。最新が最新のコミットを意味する場合、最新のコミットはブランチではなく別のブランチにある可能性がありますmastergit reflogすべての参照の最近の変更のリストを表示します。

于 2013-05-09T18:14:12.223 に答える