以下は、特定のコミットをチェックアウトするために使用するコマンドです。
git clone git://repo.git/repo123
git checkout <commitID>
上記を1つのステップで実行したい-git cloneコマンドのみを使用する。
私がこれをしたい理由は、repo123が非常に大きいためです。したがって、必要なコミットを確認することで、時間を大幅に節約できます。
気がついた --depth
オプション。しかし、この場合、それは役に立ちません。誰でもそれを行う方法を教えてもらえますか?
git clone u://r/l --branch x
それでもすべてのクローンを作成しますが、ローカルHEADをそのブランチに設定するため、チェックアウトされます。
ソース :
-ブランチ<名前>
-b <名前>
新しく作成されたHEADを、複製されたリポジトリのHEADが指すブランチを指すようにする代わりに、代わりに<name>
ブランチを指すようにします。ベアリポジトリ、これはチェックアウトされるブランチです。--branch
はタグを取得し、結果のリポジトリのコミット時にHEADをデタッチすることもできます。
あなたの問題はcheckoutが大きすぎますか、それともrepository自体ですか? git clone
として、まあ、通常はリポジトリ全体をフルサイズで取得します。 (既に提案したように浅いクローンを作成している場合を除きます。)
それが本当に間違ったブランチのチェックアウトに関するものである場合、git help clone
は次のように言います。
--no-checkout, -n
No checkout of HEAD is performed after the clone is complete.
-n
で複製した後、手動でチェックアウトできます
私は同じ状況に遭遇し、--depth
を使用したGitクローンコマンドで問題なく動作しました。また、-b
パラメータを使用して、コマンドの最後にbranch-name/commit/Tag-Nameを指定します。
構文:
git clone --depth 1 github.com:ORG-NAME/Repo.git -b <Branch-Name/Commit-Number/TAG>