目的
gitを使ってプログラムを管理したい。
環境
os: windows10
git flow
git flowを参考に開発してみたかったので、試してみました。git flowとは、こちらのサイトでは下記のように説明されています。
Gitflow とは、フィーチャー ブランチと複数のプライマリ ブランチを使用する代替 Git ブランチ モデルです。nvie の Vincent Driessen 氏が初めて公開して有名になりました。トランクベース開発と比較して、Gitflow には永続的なブランチと大規模なコミットがあります。
git flowとは、Gitのリポジトリを使ったブランチモデル(分岐モデル)の一つで。複数人での開発している場合、変更点、リリースなどの状況をブランチで分けられています。そうすることで、プログラムの変更状況を管理しやすいと考えており、活用することにしました。
git flowのブランチの説明については、下記サイトが詳しく書かれていましたので省略します。
Git-flowをざっと整理してみた
今回行ったフロー
mainには、最新の状態を入れておきます。developには、リリースまでにアップデートした機能、featureには、リリースまでに新たに追加した機能やバグを修正した作業を入れています。
使用しているコマンドは、下記にまとめてます。
https://qiita.com/yutaka_m/items/55fd9120bf2886ba6e83
featureの作成
maimからdevelop、fuatureの順に作成します。developのブランチ名には、revの番号(xx)、featureには、作業内容のタイトル(yy)をつけて置くことにしました。
# ブランチがmainにいることを確認する。
git branch
# develop/rev0.xを作成し、ブランチを切り替える。
git checkout -b develop/rev0.x
# develop/rev0.xをコピーし、feature/rev.0.x_yyを作成する。
git checkout -b feature/rev.0.x_yy develop/rev0.x または git checkout develop/rev0.x -b feature/rev.0.x_yy
featureをoriginへ反映
featureの変更後、commitし、originまでアップロードします。
# 変更内容をステージングエリアへ
git add .
# 変更内容のコミット
git commit -m "メッセージ"
# featureの内容をoriginへ反映
git push origin feature/rev.0.x_yy
mainをoriginへ反映
featureの内容をdevelop、main、originへと反映させます。
# developブランチへ切り替え
git checkout develop/rev0.x
# featureの内容をdevelopへmergeして反映
git merge feature/rev.0.x_yy
# featureブランチの削除
git branch -d feature/rev.0.x_yy
# mainブランチへ切り替え
git checkout main
# developブランチの変更内容をmainへmergeして反映
git merge develop/rev0.x
# mainの変更内容をoriginへ反映
git push origin main
差分比較
gitの差分比較を行う場合、同じファイルの変更が少量であればgit diff
で確認できますが、大量に変更した場合見えにくくなります。なので、私は、winmergeを用いて比較することにしました。横並びで変更点がハイライトされるので便利です。
設定については、こちらの記事を参考にさせていただきました。gitconfigファイルがある場所は、こちらの記事が参考になります。
また、コミットID同士で履歴を指定して、比較することもできます。
git windiff コミットID_A コミットID_B
参考URL
いまさらだけどGitを基本から分かりやすくまとめてみた
リリースまでの流れ
git develop, feature branch作成からmergeするまで (自分用メモ)
Git-flowって何?
git の差分比較・マージを WinMerge で行う