2013-08-30 11 views
18

以下は、特定のコミットをチェックアウトするために使用するコマンドです。git cloneとcheckoutを1つのコマンドで実行する

git clone git://repo.git/repo123 
git checkout <commitID> 

git cloneコマンドのみを使用して、上記の手順を1つのステップで実行します。

私がこれをしたい理由は、repo123は非常に巨大です。だから私が望むコミットをチェックすることは、私に多くの時間を節約します。

私は--depthオプションを知っています。しかし、この場合、それは役に立たない。それを行う方法を教えてもらえますか?

+0

'--depth'の問題は何ですか? – michas

答えて

2

私は同じ状況で走っていましたが、--depthのGit Cloneコマンドでうまくいきました。そして、コマンドの最後にブランチ名/コミット/タグ名を-bパラメータで指定します。

構文:

git clone --depth 1 github.com:ORG-NAME/Repo.git -b <Branch-Name/Commit-Number/TAG> 
+2

これは本当にコミットSHA1で機能しますか?私はgit 2.5.0で試してみましたが、ブランチの名前とタグを受け付けますが、コミットでは動作しません。 – meowsqueak

2

があなたの問題が大きいかリポジトリ自体にあることチェックアウトですか? git cloneとして、よく、リポジトリをクローンします。通常、リポジトリ全体をフルサイズで取得します。 (あなたがすでに示唆したように、あなたがシャローコピーを行っている場合を除きます)、それは間違った枝git help cloneのチェックアウトについては本当になら

は言う:

--no-checkout, -n 
     No checkout of HEAD is performed after the clone is complete. 

-nでクローニングした後、手動で

21
をチェックアウトすることができます
git clone u://r/l --branch x 

はまだすべてをクローンしますが、そのブランチにローカルHEADを設定するので、チェックアウトされます。

関連する問題