【図解付き】gitコマンドTweetまとめ
Learn Git Branchingを使用してgitコマンドを勉強したので、
Git branchingについて学べるこちらのサイト、かなり素晴らしいです。
— りっしー@webライター (@hiwriterprogram) August 31, 2019
git init ~ git commit ~ git push の流れを1度でも体験したことがあれば、その次のステップとして丁度いいかも。https://t.co/uU9zGjK9Xa#りっしーメモ #駆け出しエンジニアと繋がりたい
Tweetと共にその役割についてまとめていきます。
- ブランチの作成:git branch {BRANCH_NAME}
- ブランチへの移動:git checkout {BRANCH_NAME}
- ブランチを合体:git merge {BRANCH_NAME}
- ブランチを合体:git rebase {BRANCH_NAME}
- ブランチの先頭:HEAD
- コミットの相対的な指定
- コミットのリセット:git reset {BRANCH_NAME}
- シェアしているコミットのリセット:git revert {BRANCH_NAME}
- ブランチの並び替え:git cherry-pick {BRANCH_HASH_1} {BRANCH_HASH_2} ...
- リモートリポジトリから作業ディレクトリにブランチ移動:git pull origin {BRANCH_NAME}
- ブランチの削除:git branch -D {BRANCH_NAME}
- 文字列検索:git grep "文字列"
- ブランチの一時保存
ブランチの作成:git branch {BRANCH_NAME}
git branch {BRANCH_NAME}
git branch {BRANCH_NAME}
— りっしー@webライター (@hiwriterprogram) August 31, 2019
✅現在のコミットから新たなブランチを作成するgitコマンド
✅作成したブランチに移動するにはgit checkout {BRANCH_NAME}が必要
✅「ブランチを切る」と呼ばれる行為#りっしーメモ #駆け出しエンジニアとつながりたい pic.twitter.com/Hkl3ZNosJC
ブランチへの移動:git checkout {BRANCH_NAME}
git checkout {BRANCH_NAME}
git checkout {BRANCH_NAME}
— りっしー@webライター (@hiwriterprogram) August 31, 2019
✅現在のブランチから他のブランチに移動する際のコマンド
✅現在のブランチの末尾に「*」マークが付く
✅ブランチを切って作業をする際には、このコマンドが必須#りっしーメモ #駆け出しの飛行少女 pic.twitter.com/dvdDhkf2bl
ブランチへの移動&作成:git checkout -b {BRANCH_NAME}
git checkout -b {BRANCH_NAME}
git checkout -b {BRANCH_NAME}
— りっしー@webライター (@hiwriterprogram) September 3, 2019
✅現在地から新規ブランチを作成できる
✅作成後、作成したブランチに移動する
✅git branchコマンドはブランチ作成後も現在地から動かない#りっしーメモ#駆け出しエンジニアと繋がりたい #駆け出しエンジニアとつながりたい
ブランチへのn個分移動:git checkout {BRANCH_NAME}^n
git checkout {BRANCH_NAME}^n
git checkout {BRANCH_NAME}^n
— りっしー@webライター (@hiwriterprogram) August 31, 2019
✅checkout master^2とすることで、2つ目の親にHEADが上がる
✅マージされたコミットは複数の親を持っているため、通常、checkout masterなどとすると1つ目の親にHEADが上がる pic.twitter.com/6zBmTOCiCw
ブランチへ指定した数と指定した親に移動:git checkout~と^の組み合わせ
git checkout~と^の組み合わせ
— りっしー@webライター (@hiwriterprogram) August 31, 2019
✅git checkout HEAD~;git checkout HEAD^2;git checkout HEAD^2と組み合わせることもできる
✅これは「git checkout HEAD~^2~2」とも書くことができる#りっしーメモ#駆け出しエンジニアと繋がりたい #駆け出しエンジニアとつながりたい pic.twitter.com/E3xuZxEXK3
ブランチを合体:git merge {BRANCH_NAME}
git merge {BRANCH_NAME}
git merge {BRANCH_NAME}
— りっしー@webライター (@hiwriterprogram) August 31, 2019
✅現在のブランチとマージしたいブランチを統合する
✅git branchでブランチを切った後、変更をmasterと統合するためのコマンド#りっしーメモ #駆け出しエンジニアとつながりたい pic.twitter.com/7Ah7MFuJlq
ブランチを合体:git rebase {BRANCH_NAME}
git rebase {BRANCH_NAME}
git rebase {BRANCH_NAME}
— りっしー@webライター (@hiwriterprogram) August 31, 2019
✅現在のブランチを{BRANCH_NAME}の直下に移動させるコマンド
✅「ブランチの位置が移動する」という点でgit mergeと異なる
✅並行して開発された別々のブランチを1本のブランチ上で開発したかのような見通しの良い配置にできる pic.twitter.com/GskO4s5dAg
git rebase {BRANCH_NAME}②
— りっしー@webライター (@hiwriterprogram) August 31, 2019
✅末端のブランチをrebaseした場合、上に繋がる複数のブランチも同時にrebaseされる pic.twitter.com/sA4tZ7maf7
git rebase {BRANCH_NAME_1} {BRANCH_NAME_2}
— りっしー@webライター (@hiwriterprogram) August 31, 2019
✅BRANCH_NAME_2をBRANCH_NAME_1へ移動させることができる pic.twitter.com/RC8tBqRqTL
ブランチの先頭:HEAD
HEAD
— りっしー@webライター (@hiwriterprogram) August 31, 2019
✅現在使用しているブランチの先頭
✅git checkout {BRANCH_HASH}でHEADを移動できる
参考:https://t.co/xLw2KRpOLS pic.twitter.com/yL4FnxyYhL
コミットの相対的な指定
コミットの相対的な指定
— りっしー@webライター (@hiwriterprogram) August 31, 2019
✅ブランチのハッシュは長いため先頭4字だけの入力でも可能だが…
✅「^」でHEADの1つ前
✅「^^」でHEADの2つ前
✅「~n」でHEADのn個前
を相対的に指し示すことができる pic.twitter.com/3MkkGSMkzf
コミットのリセット:git reset {BRANCH_NAME}
git reset {BRANCH_NAME}
git reset {BRANCH_NAME}
— りっしー@webライター (@hiwriterprogram) August 31, 2019
✅すでに行なっているコミットをリセットする
✅git reset HEAD^ のように巻き戻し範囲を指定できる
✅他の人とシェアしているリモートリポジトリでは使えない
✅シェアしたリポジトリの場合は git revert を使用する
✅revertは変更履歴を上書きして元に戻すイメージ pic.twitter.com/g57OSxk2wi
シェアしているコミットのリセット:git revert {BRANCH_NAME}
git revert {BRANCH_NAME}
git revert {BRANCH_NAME}
— りっしー@webライター (@hiwriterprogram) August 31, 2019
✅他の人とシェアしているリモートリポジトリのコミット取り消しを行える
✅{BRANCH_NAME}に入れたブランチを、現在のブランチの後に付け加え、1つ前のコミット取り消しを行う#りっしーメモ #駆け出しエンジニアとつながりたい #駆け出しエンジニアと繋がりたい
ブランチの並び替え:git cherry-pick {BRANCH_HASH_1} {BRANCH_HASH_2} ...
git cherry-pick {BRANCH_HASH_1} {BRANCH_HASH_2} ...
git cherry-pick {BRANCH_HASH} ...
— りっしー@webライター (@hiwriterprogram) August 31, 2019
✅現在のブランチより下(新しい)の複数のブランチを指定した順番で並べる pic.twitter.com/09UCLFQ37j
リモートリポジトリから作業ディレクトリにブランチ移動:git pull origin {BRANCH_NAME}
git pull origin {BRANCH_NAME}
git pull origin {BRANCH_NAME}
— りっしー@webライター (@hiwriterprogram) September 3, 2019
✅git fetch と git mergeを合体させたもの
✅リモートリポジトリから作業(ローカル)ディレクトリへブランチを移動させられる
✅図は頂き物#りっしーメモ#駆け出しエンジニアと繋がりたい#駆け出しエンジニアとつながりたい pic.twitter.com/uLWU5735S9
ブランチの削除:git branch -D {BRANCH_NAME}
git branch -D {BRANCH_NAME}
git branch -D {BRANCH_NAME}
— りっしー@webライター (@hiwriterprogram) September 5, 2019
✅ブランチの削除
✅現在地のブランチは削除できない
✅他のブランチに移ってからコマンド入力で削除可能#りっしーメモ#駆け出しエンジニアと繋がりたい#駆け出しエンジニアとつながりたい
文字列検索:git grep "文字列"
git grep "文字列"
git grep "文字列"
— りっしー@webライター (@hiwriterprogram) September 17, 2019
✅指定した文字列を含むファイルと行を教えてくれる
✅対象はgitで管理しているファイルのみ#りっしーメモ#駆け出しエンジニアと繋がりたい#駆け出しエンジニアとつながりたい
ブランチの一時保存
git stash
git stash
— りっしー@webライター (@hiwriterprogram) October 18, 2019
✅作業中ブランチの変更を保存
✅コミットせず他のブランチに移動・作業できる
✅中途半端にコミットしたくない場合におすすめ#りっしーメモ#駆け出しエンジニアと繋がりたい #駆け出しエンジニアとつながりたい