はじめに
GitやGitHubはソフト開発現場で当たり前のように使われています。
ただ操作方法を忘れてしまうことも少なくありません。
毎回調べる手間を省けるように、よく使うGitコマンドをまとめます。
ブランチを切ってコミットプッシュしてプルリクを送る
1. ローカルリポジトリの操作
git branch
で現在のブランチを表示します。
git branch
git checkout -b
でブランチを切ります。
git checkout
とgit branch
を同時に行えます。
git checkout -b feature/a-001
git add
してgit commit
してリモートリポジトリにgit push
します。
git add components/*
git commit -m '◯◯◯のために△△△'
git push origin feature/a-001
2. GitHub上の操作
GitHubリポジトリのPull request
をクリックします。
base:ブランチ
とcompare:ブランチ
のブランチを選択して、Create pull request
をクリックします。
Title
とdescription
を入力してCreate pull request
をクリックします。
以上で完了になります。
ローカルブランチとリモートブランチを消す
git branch
の-d
でローカルブランチを消せます。
git branch -d hotfix/20240615
git push
の--detele
でリモートブランチを消せます。
git push --delete origin hotfix/20240615
リモートからmain以外のブランチをチェックアウト
origin/develop
を指定するとリモートのdevelop
がチェックアウトされます。
git checkout develop origin/develop
リモートのdevelop
が取得されない場合はfetch
してからcheckout
します。
git fetch origin develop
git checkout develop
コミットのログを調べる
--oneline
は1行でログ出力します。
$ git log --oneline
843b95d (HEAD -> main) new article
a12a105 (origin/main) Initial commit
--merges
でマージコミットのみ表示します。
$ git log --merges
--no-merges
でマージコミットを除いて表示します。
$ git log --no-merges
--author
でユーザーを絞れます。
$ git log --author="Daichi Sugiyama"
複数のコミットを1つのコミットにまとめる
1. リベースの実行
git rebase
の-i
にコミットIDを指定します。
HEAD
でも指定できます。
$ git rebase -i HEAD^2
ただし最初のコミットは-i
では指定できないため--root
を追加します。
$ git rebase -i HEAD^2
fatal: invalid upstream 'HEAD^2'
$ git rebase -i --root
2. コミットの編集
コミットを編集できるエディタが開きます。
pick a12a105 Initial commit
pick 843b95d New article
まとめるコミットのpick
をsquash
(s
)に変えます。
編集が終わったら:wq
で閉じます。
pick a12a105 Initial commit
s 843b95d New article
3. コミットメッセージの編集
コミットメッセージを編集できるエディタが開きます。
# This is a combination of 2 commits.
# This is the 1st commit message:
Initial commit
# This is the commit message #2:
New article
コミットメッセージを入力します。
編集が終わったら:wq
で閉じます。
Initial commit
以上で完了になります。
a. 元に戻す
操作を誤った場合はgit rebase --abort
で元に戻せます。
git rebase --abort
リモートのコミットを全て消してプッシュ
--orphan
を指定してコミットを引き継がないtmpブランチ
を切ります。
git checkout --orphan tmp
add
してcommit
します。
git add .
git commit -m "Init"
main
ブランチを切って元のtmp
ブランチは消します。
git checkout -B main
git branch -d tmp
git push
の-f
で強制的にプッシュします。
git push origin main -f
ブランチの差分を見てマージ
現在のブランチとdevelop
ブランチの差分を表示できます。
git diff develop
現在のブランチにdevelop
ブランチをマージします。
git merge develop
バージョンタグを付けてプッシュしてリリースを作る
git tag
でタグを作れます。
git tag -a v1.0.1 -m 'version 1.0.1'
コミットを指定した形でもタグを作れます。
git tag -a v1.0.0 a8b8aa -m 'version 1.0.0'
リモートに反映するには、コミットと同じようにプッシュします。
git push origin v1.0.0
--tags
で全てのタグがプッシュされます。
git push origin --tags
-d
でタグを削除できます
git tag -d v1.0.0
おわりに
よく使うGitコマンドをまとめました。
今後も頻繁に使うコマンドや新たな情報があれば随時更新する予定です。
皆さんの開発業務に少しでもプラスになることを願っています。