【随時更新】Gitのコマンド
はじめ
一週間前から、チーム開発をしており、チェリー本の読書記録を怠っておりました…
しかし、Gitを使いまくっているおかげで、Gitに関する知識が増えているので、それを記録したいと思います。
※ 随時、ちょっとずつ更新します!
Gitのコマンド
リモートリポジトリをクローン
(2020/01/26追記)
1. クローン作成するディレクトリに移動する
※ 今回は、projectディレクトリに移動
cd project
- クローンする
git clone <リモートリポジトリのURL>
ブランチの新規作成
(2019/11/04記載)
git branch <新ブランチ名>
ブランチの新規作成(checkoutも同時に)
(2019/11/04記載)
- 「新ブランチの作成」と「ブランチの切り替え」を同時に行う場合
git checkout -b <新ブランチ名>
※ 調べてないのですが、新しいブランチをbirthするから、-b
って覚えてます(笑)
ローカルブランチ名の変更
(2019/11/04記載)
名称を変更するブランチに切り替えた状態で
git branch -m <変更後のブランチ名>
※ どうやら、リモートブランチは名称変更できないため、削除する必要があるっぽいです
ローカルブランチの削除
(2020/01/04更新)
使用場面
- 開発ブランチの内容をmasterブランチに反映したため、開発ブランチが不要になった
コード
git branch -d <削除するブランチ名>
プッシュ
(2019/11/06記載)
git push <リモートリポジトリ名> <ブランチ名>
プッシュ&追跡ブランチの設定
(2019/12/07記載)
プッシュするときに-u
を記載することで、追跡ブランチに設定することができます。
次回からのプッシュ時にgit push
だけで指定したリモートリポジトリのブランチにpushすることができます。
(つまり、煩わしい<リモートリポジトリ名> <ブランチ名>
の記載が不要になる)
# プッシュ&追跡ブランチの設定 git push -u <リモートリポジトリ名> <ブランチ名> # 次回から git push
追跡ブランチがわからなくなったら(その1)
(2019/12/09記載)
「あれ?ガスの元栓しめたっけ?」的な感覚で、「ちゃんと追跡ブランチを設定したっけ?」と疑心暗鬼になることが多々あります。
そんなとき、以下のコマンドで追跡ブランチを設定したか否か確認できます!
git status -sb
-sb
は--short --branch
の略--short
オプションは、git status
の内容を短く表示する
追跡ブランチがわからなくなったら(その2)
(2019/12/09記載)
普通にgit status
を打つと表示される以下の表示で確認することもできます。
Your branch is up to date with 'origin/hogehoge'.
↑ このブランチはorigin/hogehoge
を追跡しているって意味です。
差分確認シリーズ
git addしたあとの差分確認
(2019/11/04記載)
- git commit前に確認したいときに使用する
git diff --cached
(chachedってどういう意味なんだろ…?)
git commitした後の変更点を見る
(2019/11/04記載)
git diff HEAD^..HEAD
HEAD^
は 最新のコミットの1つ前HEAD
は 最新のコミット..
は、↑の両者を比較する
の意味…?
コミット履歴の修正
(2020/01/13更新)
修正対象:前回のコミット
流れ
- 普通にコードを修正する
- 普通に
git add
する git commit --amend
する
→ エディターで前回のコミットメッセージ等が表示される
(コミットメッセージの修正も可能)
修正対象:2回以上前のコミット
プルリクしたあとの、レビュー後にコードを修正することになった場合、コミット履歴をきれいにする方法を記載します。
大きな流れ
git commit --fixup 統合先コミット番号
で修正コミットと統合先コミットを結びつけるgit rebase -i --autosquash HEAD~数字
で修正コミットと統合先コミットを結合するgit push -f
でgit hub上のコミット履歴を強制的に変更する
git stash
(2020/01/04更新)
使った場面
- masterブランチを間違えて修正してしまった
git stash
一時的に修正内容を退避させたいとき
git stash save
※ save
は省略可能
stashにメッセージを追加したい場合
git stash save <message>
コミットメッセージの修正
(2020/01/11更新)
前回より前のコミットメッセージを修正
大きな流れ
git log
で修正するコミット番号を確認git rebase -i <コミット番号>~1
- エディターが開く
→ 修正するもののpick
をreword
に変更
→:wq
(エディターを閉じる) - コミットメッセージの修正
前回のコミットメッセージを修正
大きな流れ
git commit -- ammend
を使う
分岐元のブランチを修正(git rebase
)
(2020/01/11更新)
大きな流れ
- ローカルリポジトリのマスターブランチを最新の状態にする
- 開発ブランチにcheckoutする
git rebase master
- コンフリクトを修正する
一時退避(git stash)
(2020/01/11更新)
退避しているものの確認
git stash list
退避しているものを戻す
例)git stash list
でstash@{0}
と表示されているものを戻す
git stash apply stash@{0}