以前と今
過去の組み込みの現場で使っていたsource管理ツール
今のwebアプリ開発の現場のsource管理ツール
CVS、SVNなどの集中型とgitのような分散型バージョン保存システムの違いはここでは取り上げません。
現場に入る前にgitについてはここをやりました。
LearnGitBranching
その他環境
実際のwebアプリ開発の現場で気をつけていたこと
Branchを切り間違えない
VSCodeを使っていると、間違えてdevelopに戻らずに今いるBranchからBranchを切ってしまったことがある。
その際は現時点の作業を一旦stashして退避、developに戻って新たにBranchを切り直して、新たなBranchでstash popして作業を続行する。
慣れないうちは難しいことをせずに確実に基本的なことをやっていく。
じゃないと、「あれ?今のBranchでこんなのcommitしてないのになんで紛れ込んでるの?」とかなってしまう。
commitはレビュー担当者に分かりやすい単位で行う
自分もやってしまったことがあるが、たくさんのファイルを一気にcommit、pushしてしまうと、レビュー担当者にとって非常に見難いプルリクエストとなってしまう。
例えばCRUDのUpdateを追加するなら、controllerとそのテストをコミット、serializerとそのテストをコミット、という風に変更したファイルと対になるテストをコミットしていくとレビュー担当者が流れを追いやすくなる。
Gitクライアントツールを有効活用する
gitというとCUI上でやり繰りするのが通みたいな感じがあるが、この世にはSourceTreeやGitKrakenみたいなGUIになっており、見て分かりやすいツールがある。
GUI上でポチポチするだけでCherry-pickやpullできるようになっているので、わざわざCUI上でコマンド打ってトラブって消耗するよりは、便利なツール使ってスムーズに開発を進めたほうがよいと考える。
※他、思い出し次第追記