1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Gitでshallow cloneした後に特定のブランチをcheckoutしたい

Posted at

TL;DR

以下のようにshallow cloneしたローカルリポジトリに対し、

git clone --depth 1 <リポジトリURL等>

以下のコマンドを実行すれば指定したブランチがcheckoutできるようになる

git remote set-branches origin <ブランチ名>
git fetch origin <ブランチ名>

origin の箇所は適宜読み替える

少し詳しく

以下のようにshallow cloneしたローカルリポジトリがある

git clone --depth 1 --single-branch -b <ブランチ名> <リポジトリURL等>

このままcheckoutしようとすると以下のようなエラーになる

❯ git checkout master       
error: pathspec 'master' did not match any file(s) known to git

何となくfetchすれば良いのでは?と思いやってみるも…

git fetch origin master 

この状態でcheckoutしても同じエラーになる

❯ git checkout master       
error: pathspec 'master' did not match any file(s) known to git

これを回避するには以下のようにする ※順番が大事

git remote set-branches origin master
git fetch origin master 

参考

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?