質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

マージ

複数のデータベースやファイル、プログラムなどを決まった手順や規則に従って一つに結合すること。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

git-flow

git-flowとは、gitのブランチモデルを使う時の補助ツールです。gitを使う際のブランチ作成などで、一定のルールをまとめたものを指します。

Q&A

解決済

2回答

2469閲覧

git-flowの手順について

aae_11

総合スコア178

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

マージ

複数のデータベースやファイル、プログラムなどを決まった手順や規則に従って一つに結合すること。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

git-flow

git-flowとは、gitのブランチモデルを使う時の補助ツールです。gitを使う際のブランチ作成などで、一定のルールをまとめたものを指します。

0グッド

0クリップ

投稿2020/04/23 08:04

編集2020/04/23 08:05

git-flowについて調べていたのですが、分からない部分がある為、お聞きしたいです。
リンク先記事では、項目の「7.GitHub上で、Pull Requestを作成する」はfeatureブランチ上で開発したファイルなどを、プッシュし、プルリクエストを行う説明かと思うのですが、「feature」ブランチで開発し完成したら、「develop」へマージし、その後、「develop」から「release」ブランチを切り、masterへマージし、「プッシュ」→「プルリクエスト」といった流れではないのでしょうか?
こちらの部分の詳細ににつきまして、ご助言頂けましたら幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

Git-flowって何? - Qiita」の記事ですが、完全な「git-flow」ではなく、「git-flow」をアレンジして解説しています。

「git-flow」の基本的な考え方は素晴らしいのですが、細かいところでイマイチなところがあり、「git-flow」をアレンジして使うことがよくあります。

また、そもそも「git-flow」に Pull Request は出てきません。
Pull Request は git ではなく GitHub の機能だからです。

GitHub を利用する場合、「git-flow」をアレンジした「GitHub Flow」がよく使われています。

参考:

GitHub Flow (Japanese translation)
https://gist.github.com/Gab-km/3705015

git flowとgithub flowとは?その違いは? - Qiita
https://qiita.com/mint__/items/bfc58589b5b1e0a1856a

投稿2020/04/24 01:35

nskydiving

総合スコア6500

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

aae_11

2020/04/24 04:45

ご回答ありがとうございます。 「git-flow」「GitHub Flow」では違うのですね。 貼って頂きましたリンクも参考にさせて頂きたいと思います。
guest

0

ベストアンサー

GitHub 上でプルリクエストを作ると Merge ボタンが現れて、それを押すと GitHub 上でマージされます。つまり、プルリクエストはマージするために作るもの (マージリクエストという名前にすべきという人もいます) なので、マージしてからプルリクエストを作る、というのは意味がありません。

複数人で開発する場合、develop や master ブランチを個々の開発者が勝手に操作してしまうと困ったことになるので、develop や master ブランチには直接 push できないように設定して、かならずプルリクエスト経由でマージするようにする、かつマージする前にレビューを受けるようにする、というワークフローが一般的だと思います。

投稿2020/04/23 18:36

hoshi-takanori

総合スコア7895

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

aae_11

2020/04/24 00:58

ご回答ありがとうございます。 少々勘違いしてしまっていたのかもしれないのですが、ローカつで作成したfeatrureブランチをリモートにプッシュした後、そのfeatureブランチをdevelopやmasterにプルリクエストを送るといった流れになるのでしょうか? しかし、そうなりますと、「git flow init」を行なった際に作成される、ローカルのmasterやdevelopは、全くいじらないといった形になるのでしょうか...? 若干混乱してしまっていて、うまくご説明出来ずに申し訳ないです...
hoshi-takanori

2020/04/24 01:31

> ローカルで作成したfeatrureブランチをリモートにプッシュした後、そのfeatureブランチをdevelopやmasterにプルリクエストを送る です。 ローカルの master や develop は、共用リポジトリ上のブランチを追いかけるために使います。複数人で開発する場合、自分だけでなく他の人が開発した内容もマージされていきますので。具体的には、自分の手元で master や develop を動かしたい場合もありますし、自分が新しく feature ブランチや hotfix ブランチを切る場合は、develop や master を最新にして、そこから始めるのが普通です。また、自分が作っている機能が他人がマージした変更と競合あるいは依存している場合、そのままマージしようとすると衝突が発生したりするので、いったん develop や master を自分のブランチにマージする必要があります。(↓の絵の 4 番。) https://www.researchgate.net/figure/Simplified-version-of-the-gitflow-branching-model-adapted-from-8_fig6_262450959 git は特にそうですが、実際に多人数で開発してみないと分からない事ってたくさんありますよね。頑張ってください。
aae_11

2020/04/24 01:46

大変分かりやすく、ご説明頂きましてありがとうございます。 ローカルのmasterやdevelopは基本的に、複数人で開発している場合、あまり使わないのですね。 >自分が新しく feature ブランチや hotfix ブランチを切る場合は、develop や master を最新にして、そこから始める こちら、理解することが出来ました。他の人が、masterやdevelopにマージしてしまっていたら、最新の内容から、hotfixブランチなど、切ることは出来ないですよね... 勉強になりました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問