普段はGitlabを使うのでGitlabで
Gitlabからクローンしてブランチを切ってプッシュしてマージリクエストを出すまでの流れ(Github-flow)
参考:https://b.pyar.bz/20140122/github-flow/
メリット
- masterが汚れない(デプロイ出来る状態に保てる)
- 変更部分のレビューを受けやすい
- 変更部分のテストがしやすい
- どのタスクをしているか、どう変更したかのメモをつけやすい
- タスク毎にレビュー、マージが出来る
開発手順
リモートリポジトリをローカルにクローン
リモートリポジトリ(Gitlab)の内容をローカル(自分の環境)にクローン(複製)する
$ git clone リポジトリ.git
Cloning into 'リポジトリ'...
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (3/3), done.
作業リポジトリに移動
cd リポジトリ
ブランチを切る
ブランチとは枝という意味
作業の履歴の流れを分岐して記録していくためのもの
git branch ブランチ名してgit checkout ブランチ名する
git branchで今存在するブランチの一覧を表示する
*は今このブランチで作業中という意味
クローン時にはmasterブランチしかない
$ git branch
* master
このまま作業すると、リリース用のmasterリポジトリに途中の作業内容を反映させてしまうので、自分の作業用のブランチを作成する(ブランチを切るという)
ブランチにはわかりやすい名前をつける
チケットが発行されているなら頭にチケット番号をつけておくとわかりやすい
git branch ブランチ名でブランチを作成する
add-new-fileというタスクを行うとする
$ git branch add-new-file
$ git branch
add-new-file
* master
git checkoutで作業するブランチを移動する
$ git checkout add-new-file
Switched to branch 'add-new-file'
$ git branch
* add-new-file
master
このブランチに移動することで、変更がこのブランチに反映されることになるのでmasterリポジトリが汚れない
切ったブランチで作業する
編集してgit addしてgit commitしてgit pushする
git add [ファイル名] //追加
git commit -a -m "任意のコメント" //コミット
git push origin ブランチ名 //リモートリポジトリを更新
git push origin masterとしないように注意
マージリクエストを出す
以下のような場合にはgitlab上でマージリクエストを出す
- レビューしてほしい
- よく分からない部分があるのでコードを見て欲しい
- 完成したのでマージしてほしい
待つ
slackとかで連絡して返答を待ちましょう
レビューされたり突っ返されたりmasterへのマージを許可されたりします
タスクが完了したらブランチを削除
お疲れ様でした
git checkoutでmasterに戻って、git branch -D でタスクを行っていたブランチを削除
$ git checkout master
$ git branch -D add-new-file