初めに
これまでSVNばかりをソース管理で使っており、そもそもGit自体を業務で使ったことがありませんでした。個人で本を買って、一読し、個人操作でGit Hubしか使ったことがありませんでした。
4月から現場でソース管理でGitを使うようになったため、CUIでよく使う最低限のコマンドを記載します。所感の使い方レベルの説明のみ記載します。
(細かいソースの確認はSource Treeを使用しています。)
ちなみにリモートリポジトリはAWSのCodeCommitを使用しております。
●開発時によく使用する流れです
①$ git clone <リモートリポジトリのブランチURL>
→開発開始時にリモートリポジトリより、ローカルPCに資材をクローンする時に使うコマンド。
これを実行することでローカルPCにローカルリポジトリが作成でき、開発のスタート地点に立てます。
② $ git branch --all
→ローカルリポジトリ内に含まれるブランチの一覧を確認できます。
これで自分が着手する元になるブランチを確認します。
③ $ git checkout <開発したいブランチ名>
→②で対象を確認し、自分のローカルPC内でメイン開発したいブランチに切り替えを行えます。
④ $ git pull
→③でローカルリポジトリを対象のブランチを切り替えた後に、リモートリポジトリの同一のブランチより、最新の内容を取得し、ローカルリポジトリの対象ブランチへ内容をマージします。
(この時点でpullをする必要性は①〜③までに他のメンバーがリモートリポジトリの対象ブランチに内容を更新した場合)
⑤ $ git checkout -b <新たなブランチ名>
→ ④までに使用したブランチを新たな名称で別ブランチとして派生させる場合に使用します。
④で開発しても良いが、他メンバーとの内容の競合を防ぐために同様の内容で別ブランチを切り起こして、
開発をした方が良いため、使用する。
⑥ $ git commit
→ 現在の変更内容をローカルリポジトリの内容をコミットします。変更はあくまでもローカルリポジトリのブランチ内だけ。
⑦ $ git merge <取り込みたいブランチ名>
→ 自分のブランチ内に別ブランチ(派生の元になった④の時点でのブランチ)の内容を取り込む時に使います。
(※事前に別ブランチ(派生の元になった④の時点でのブランチ)にcheckoutで切り替えて、pullしてから、
mergeを実行するブランチに(⑤の開発ブランチ)切り替えてから、⑦のmergeを行います。)
⑧ $ git push origin/ <現在のブランチ名>
→ これで自分の開発中の新たなブランチをリモートリポジトリにアップします。
(※⑦のマージで、派生の元になった④の時点でのブランチに切り替えて、そこに(⑤の開発ブランチ)をマージして、プッシュしても良い)
自分の現場の場合は開発ブランチから元のブランチへのマージは、
CodeCommit側でプルリクエストでマージ元(⑤)、マージ先(④)を設定し、変更内容を再確認してからのマージをしています。
(その際に、スカッシュや3ウェイマージなど選べます)
⑨ $ git branch -d <削除したいブランチ名>
→⑧まで終わった後は自分のローカルの開発ブランチは不要のため、削除するために実行します。
終わりに
まだまだ細かいコマンドは使用しますが、よく使うのは上記となります。
操作があまりわからないので、GUIに頼って使うことも多いです。