ブランチ作成からプルリクエストまで
このエントリは「超初心者のGitHub(1) リポジトリ作成からpushまで」の続きです。
前回は超初心者がなんとかpushするところまで出来ました。
が、チームで使うならブランチで作業してプルリク出してという流れは必須中の必須。もう少し頑張ります。
1. masterブランチに移動する
まずはいつものcd
で該当ディレクトリまで移動したら、git checkout
でmasterブランチに移動します。
git checkout master
そしてgit pull
します。
git pull
これでリモートのmasterブランチに更新があったら、リモートに持ってきてくれます。
よく言われることですが、git pull
= git fetch
+ git marge
です。一度にやってくれて便利ですね。
featureブランチを切る前に、まずはこれをやる癖を付けたらいいのかなと思います。
2. ブランチを作る
前回も少し書きましたが、今回はGit flowの手法を取り入れたチーム開発なのです。
とはいえreleaseブランチは使わないので、作業に使うのは master, develop, feature。(hot-fixは都度都度ですね)
基本的にはdevelopブランチで開発を進め、OK!となったらmasterにマージしていく感じです。
なので、まずはgit branch develop
と入力してdevelopブランチを作成。
反応が帰ってこなくて不安になるも、git branch
すると
develop
* master
出来てた!
「developとmasterという2つのブランチがありますよ」「今はmasterブランチにいますよ」ということですね。
では、git checkout develop
と入力してdevelopブランチに切り替えます。
git checkout develop
Switched to branch 'develop'
developにスイッチしました!
ちなみに、この一連の流れを一行で出来ちゃうコマンドもあります。
git checkout -b develop
やっていることは「developブランチを作ってそっちに切り替える」です。ちゃんと出来たかどうかはgit branch
で確認しておきましょう。
3. addしてcommitしてpushする
では先ほどと同じように、README.mdに何か書き加えてみます。
一連の流れは割愛しますが、「ファイルに変更を加えたら**statusで確認してaddでステージングに上げてcommitしてリモートにpushする」**です。
それをdevelopブランチ上でやるということです。
pushしたら怒られた
さて、statusしてaddしてcommitまではさっきと同じようにやりましたし出来ました。
が、これをgit push
しようとしたら怒られました。
fatal: The current branch develop has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin develop
fatalとか言われると本当に怖い…。これは「上流ブランチがないよ」と言われてます。ローカルで新しいブランチを作ったけど、これに紐づくブランチがリモートにはないよということらしいです。
新しく作ってまだpushしてないんだからあるわけないのですが、親切にもこうすればいいよというコマンドを教えてくれてます。最後の行の
git push --set-upstream origin develop
これを打ち込むと、リモートに上流ブランチを作ってくれてめでたしめでたし。
GitHubのページを見に行ったら、無事にdevelopブランチが表示されました。
※ 例えば feature/branch_name というブランチの上流ブランチを設定したい場合はこんな感じ
git push -u origin feature/branch_name
4. プルリクエストする
ここまできたらあと一息。
今は、developには修正したREADME.mdがあるけど、masterには無いという状態です。
これ、masterにも反映させたいですよね。そこでプルリクエストです。
チームメンバーに「変更したからここチェックしてね。大丈夫そうだったらマージして(する)ね」という通知をするやつです。(あってるかな…)
プルリク(PRとも書く)は、GitHubのページで行います。
リポジトリのページへ行ったら、「Pull requests」タブ→「New pull request」ボタンを押します。
するとこういう画面になるので、プルダウンを**「base:master」←「compare:develop」にして「Create pull request」**ボタンをクリック!
タイトル(とコメント)を書いて**「Create pull request」**ボタンをクリック。
ちなみに、「File changed」タブでコードの変更箇所が見られます。
ここでチェックしてOKだったりNGだったりしたら、コメントします。
コメント履歴は「Conversations」に残っていきます!
5. マージする
チームでやるときは複数人にレビューしてもらって、OKが出たらmasterにマージしていきます。
**「Pull requests」→「Coversation」**でコメント確認したら、
その下部にある**「Marge pull request」ボタンをクリック。
ボタンが「confirm marge」**に変わるのでまたまたクリック。
Thanks
参考にさせていただきました。ありがとうございました。
https://qiita.com/TakumaKurosawa/items/79a75026327d8deb9c04