Gitでの管理の流れ
git flow とは
git flow は、チームで Git を使う際に役立つ、運用ルールをまとめたツールです。Git は分散型バージョン管理システムで、複数名でプロジェクト・ファイルを共有できる特徴があります。開発スピードの向上やミスの低減などメリットがある一方で、開発スタート時に運用ルールを定めておかないと、プロジェクトがまとまらない、というデメリットがあります。そんな Git の課題を git flow は解決してくれます。ちなみに git flow は、2009年にオランダ人ソフトウェア・エンジニアの ヴィンセントさんが発案した Git の運用ルールになります。
git flow の内容
master
本番に反映するファイルで、基本的にこちらにはコミットしません
develop
開発を行うブランチになります。この2つの柱(ブランチ)は消滅することなくプロジェクトと共に存続します。
feature branches
追加機能などはこちらで作業されます。develop から分岐し、 develop にマージする。
release branches
プロダクトリリースの準備。 機能の追加やマイナーなバグフィックスとは独立させることで、 リリース時に含めるコードを綺麗な状態に保つ(機能追加中で未使用のコードなどを含まないようにする)ことができる。 develop ブランチにリリース予定の機能やバグフィックスがほぼ反映した状態で develop から分岐する。 リリース準備が整ったら, master にマージし、タグをつける。次に develop にマージする。
hotfixes branches
リリース後のクリティカルなバグフィックスなど、 現在のプロダクトのバージョンに対する変更用。 master から分岐し、 master にマージし、タグをつける。次に develop にマージする。
開発フローの例
ローカルリポジトリにクローンを作成する。
共有リポジトリを利用して開発を進める場合、クローン(clone)して作業ディレクトリをローカルに作成します。このクローンはサーバが保持しているデータをほぼすべてローカルにコピーします。これはプロジェクトのすべてのファイルのすべての履歴が手元にコピーされることを意味しています。
作業ディレクトリを作成するコマンドは下記を実行します。
------※clone以下はGitHubのhttps等のURLを入れて下さい。------
git clone https://github.com/.git
そしてクローンしたプロジェクトに移動します。
cd プロジェクト名
Git-flowの初期化(developブランチの作成)を行います。
下記のコマンドを実行すると、ローカルリポジトリの初期化ができます。実行すると、ブランチの名前などを聞かれますが全てEnterで!
git flow init
実行後、branchの状態を確認しましょう。
git branch
実行結果は下記の様になっています。
* develop
master
リモートブランチにdevelopブランチがないので下記コマンドを実行して下さい。
git push origin develop
機能実装を開始する
Step1 featureブランチを作成
developブランチからフィーチャーブランチを作成し、機能実装作業を開始します。コミットはフィーチャーブランチに対して行います。
まず、feature/top を作成します。
git branch feature/top
feature/top にブランチを切り替えましょう。
git checkout feature/top
上記コマンドで作成されたブランチは、個人のローカル上に作成しています。その為、GitHubには反映されていません。反映させるには、下記コマンドを実行してpushを行う必要があります。
git push origin feature/top
Step2 Pullを行う
作業者は、リモートリポジトリの最新データを使用する必要があります。(コンフリクトが起きるため)下記のコマンドでモートリポジトリの最新データをPullしましょう。
git pull origin develop
Step3 Pushを行う
ファイルをインデックスに追加する(コミットの対象にする) . にすることで全てのファイルを指定します。test.phpなどとすることで特定のファイルを指定できます。
git add .
インデックスに追加した変更をリポジトリに記録する。
git commit -m "変更点を記入"
featureブランチにpushします。
git push origin feature/top
機能実装を完了する
featureブランチでの作業が完了したら、featureブランチをdevelopブランチにmergeします。merge完了後にfeatureブランチを削除します。
Step1 GitHub上で、Pull Requestを作成する
GitHub上に作成したリポジトリページを開き、Pull requestsボタンを押すと、Pull Request作成ページに移動できます。
Pull request作成ページでは、リクエストを送信する相手に、どういう変更を加えたのかを説明する内容を記入します。記入できたら、「Create pull request」ボタンを押して、Pull Requestを送信します。
これでPull Requestが送信されました。送信後のページでは、今作成したPull RequestがOpen状態になって表示されていると思います。
Step2 GitHub上で、Pull Requestをマージする
Pull Requestの変更点が問題なければ、「Merge pull request」→「Confirm Merge」ボタンを押すだけです。
マージが完了した後は、ブランチを削除しましょう。
参考文献
Author And Source
この問題について(Gitでの管理の流れ), 我々は、より多くの情報をここで見つけました https://qiita.com/ymktmk/items/18748518b06b12fc0b1b著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .