📑
<GitHub初心者>特定のGitコミットをローカルで取得する方法
特定のGitコミットをローカルで取得する方法
やっべ…
やっちまった…
まえのPush時にもどさなきゃ…
と思った時にこんな記事があったら楽だな~と思ったのでまとめ
1. 通常のクローン → 特定のコミットにチェックアウト
まずリポジトリ全体をクローンし、特定のコミットに切り替えます。
git clone https://github.com/user/repo.git
cd repo
git checkout abc1234
2. 履歴を制限した浅いクローン(--depth)
履歴を浅く制限したい場合、以下のようにクローンします。
git clone --depth 1 https://github.com/user/repo.git
※過去のコミットはこの方法では取得できません。
3. ブランチを限定してクローン(--single-branch)
あるブランチのみ取得したい場合はこちら:
git clone --branch main --single-branch https://github.com/user/repo.git
4. 特定のコミットのみ取得(高度な方法)
必要なコミットのみ取得するには、sparse-checkout
や fetch
も組み合わせる必要がありますが、基本は上記で十分です。
備考:
Gitは「履歴単位でのクローン」には対応していないため、git clone
後に git checkout
を使うのが一般的です。
Discussion