3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

超初心者のGitHub(2) ブランチ作成からプルリクエストまで

Last updated at Posted at 2020-10-13

ブランチ作成からプルリクエストまで

このエントリは「超初心者の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」ボタンを押します。
スクリーンショット 2020-07-17 17.27.28.png

するとこういう画面になるので、プルダウンを**「base:master」←「compare:develop」にして「Create pull request」**ボタンをクリック!
スクリーンショット 2020-07-17 17.30.41.png

タイトル(とコメント)を書いて**「Create pull request」**ボタンをクリック。
スクリーンショット 2020-07-17 17.33.35.png

これでプルリク出来ました!
スクリーンショット 2020-07-17 17.35.48.png

ちなみに、「File changed」タブでコードの変更箇所が見られます。
ここでチェックしてOKだったりNGだったりしたら、コメントします。
コメント履歴は「Conversations」に残っていきます!

5. マージする

チームでやるときは複数人にレビューしてもらって、OKが出たらmasterにマージしていきます。

**「Pull requests」「Coversation」**でコメント確認したら、
スクリーンショット 2020-07-17 17.44.20.png

その下部にある**「Marge pull request」ボタンをクリック。
ボタンが
「confirm marge」**に変わるのでまたまたクリック。
スクリーンショット 2020-07-17 17.45.13.png

こんな表示が出たら成功です!
スクリーンショット 2020-07-17 17.47.42.png

Thanks
参考にさせていただきました。ありがとうございました。
https://qiita.com/TakumaKurosawa/items/79a75026327d8deb9c04

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?