現在オンラインスクールにてプログラムの勉強をしているMiyaki(@Miyaki)と申します。
初学者ゆえに、記事の内容に誤りや分かりにくい点があるかもしれませんがお許しください🙇♂️
今回は私がチーム開発で直面した「git checkout」についてお話しし、より安全なブランチ切り替え方法を紹介します。
個人開発での習慣
個人開発の際、私は頻繁に「git checkout」コマンドを使ってブランチを切り替えていました。例えば、新しい機能を開発するために作業ブランチを作成し、その後「develop」ブランチに戻るときに「git checkout develop」と入力するだけで簡単に切り替えられます。
チーム開発でのトラブルと原因
ところが、チーム開発で同じように「git checkout」を使用して「develop」ブランチに移動したところ、思わぬトラブルが発生しました。私が作業していた内容がそのまま「develop」ブランチに反映されてしまったのです。このミスによって、共通のブランチに影響を与えてしまいました。
この問題の原因は、「git checkout」コマンドの使い方にありました。個人開発の習慣が染みついていたため、チーム開発でも同じように使用してしまいました。しかし、チーム開発では、他のメンバーとの調整が必要であり、「develop」ブランチに変更を直接反映させることは避けるべきです。
解決策
1. git switch コマンドを使用する
「git checkout」の代わりに「git switch」コマンドを使用することをお勧めします。
「git switch」はブランチの切り替えのみを行うため、誤操作を防ぐことができます。
$ git switch develop
2. 作業内容を一時的に保存する (git stash)
ブランチを切り替える前に、作業中の変更を一時的に保存するために「git stash」コマンドを使用します。これにより、作業内容を一時的に退避させ、安全にブランチを切り替えることができます。
$ git stash push -m "メッセージ"
3. 保存した作業内容を適用する (git stash apply)
一時保存した作業内容を元のブランチに適用します。
$ git stash apply stash@{0}
stash@{0}の部分は、git stash listコマンドで確認できるスタッシュのリストから保存したスタッシュを選択する必要があるため、状況によって異なる場合があります。
まとめ
チーム開発では、個人開発とは異なる注意点が存在します。「git switch」や「git stash」コマンドを適切に使用することで、作業内容を安全に管理し、スムーズな開発を進めることができます。以下は、今回紹介した一連のコマンドの流れです。
$ git stash push -m "メッセージ"
$ git switch develop
#developブランチで必要な作業を行う
$ git switch 作業ブランチ
$ git stash apply stash@{0}
このようにして、誤操作を防ぎつつ、効率的にブランチを切り替えることができます。皆さんも、同じようなミスを避けるために、ぜひ参考にしてみてください。