会社勤めになるにあたって何を勉強したらいいか
一番最初にヒットしたのがGit管理方法だ。
一番わかりやすいGitについてのサイトはサル君かな?
会社の代表にも勧められた。
とりあえず
init → add → commit → branch
など基本的なことを会社に入る前に覚えた。
会社で共同開発を進めていくうちに
pull / push / merge
を覚えた。
なんとかそれでいいと思ったが、
次の派遣先のGitが他でやってこなかったような
管理方法をしていた。
rebase?
revert?
cherry-pick?
なにそれ
軽くおさらい
ブランチ戦略
checkout
VS CODEでいうところのこれ。
ブランチを切り替えることをチェックアウトという。
git checkout ブランチ名
HEAD
現在使用しているブランチの先頭を表す名前
なんか似たような奴に「--hard」ってあるよね...
大量の不要な変更やエラーが発生し、最新の安定した状態に戻りたい場合
--hard
git reset --hard [コミットID]を実行すると、
指定されたコミットに現在のブランチのHEADが移動します。
作業ディレクトリとインデックス(ステージングエリア)の内容も
そのコミットの状態に完全に戻ります。
この操作は、未ステージング、未コミットの変更をすべて破棄します。
使用する際は注意が必要です。
--mixed
git reset [コミットID]またはgit reset --mixed [コミットID]を実行すると、
指定されたコミットにHEADが移動します。
インデックス(ステージングエリア)は指定したコミットの状態にリセットされますが、
作業ディレクトリのファイルは変更されません。
これにより、ステージングされていた変更は取り消されますが、
作業ディレクトリの変更は保持されます。
--soft
git reset --soft [コミットID]を実行すると、指定されたコミットにHEADが移動しますが、
インデックス(ステージングエリア)と作業ディレクトリの状態は変更されません。
これにより、HEADの移動前にステージングされていた変更は、
移動後もステージングされたままとなります。
このオプションは、コミットを再構成する際に便利です。
例えば、複数のコミットを1つにまとめる場合などです。
(Chat GPTより)
...ここら辺はユースケースも踏まえたうえで
実際に使ってみないとわからないよね。
rebase
Gitの勉強、地味...