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

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

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

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

GitHub

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

git-flow

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

Q&A

1回答

365閲覧

[GitHub]ブランチ運用についてです

yamada_0901

総合スコア2

Git

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

GitHub

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

git-flow

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

0グッド

1クリップ

投稿2023/09/11 13:53

編集2023/09/11 13:58

質問

git-flowを使ってブランチ運用をしたいのですが、やり方がわかりません。
featureブランチからfeature_#17_yamadaみたいな感じでブランチを作成し、作業が終わり次第マージしたいのですが、具体的なマージ方法がわかりません。
というのも、ローカルリポジトリにfeature_#17_yamadaを作成したあと作業が終わり、リモートリポジトリにプッシュすると思うのですが、その後どこでマージするのが正しいのでしょうか?ローカルでしょうか、それともGitHubのWebサイト上のリモートレポジトリを直接マージしたほうがいいのでしょうか?

ローカルでfeature_#17_yamadafeatureにマージしても、変更点がないとかでリモートリポジトリにプッシュすることができません。

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

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

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

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

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

hoshi-takanori

2023/09/11 15:38

feature という名前のブランチを作ることはないような…。「feature ブランチ」と言ってるのは feature_#17_yamada などの機能や修正内容ごとのブランチの総称です。普通は main (master) や develop からブランチを切って、ブランチを切った元の main (master) や develop にマージすることになるかと。 また、git-flow などの説明はブランチの切り方の説明なので git だけで操作できるような説明がされてますが、実運用では github 上で (他の開発者のレビューを受けてから) マージするのが普通でしょう。 変更点がないと言われてプッシュできないのはブランチの切り方を間違えてるとか、変更内容をコミットしてないとかでしょうか…。
tamoto

2023/09/12 00:01

その記事をよく読むと良いと思います。 最初の図で、feature branches はどこから分岐していてどこにマージされていますか? 記事中では確かに「feature ブランチを切る」と発言していますが、そのコマンド例などで `feature` という名前のブランチを作成している例は存在していません。
yamada_0901

2023/09/12 02:36 編集

回答ありがとうございます。 URL先の記事では以下のようなことが書かれていました。 > 機能の追加時以外にも、issueに対処するときにもfeatureブランチを切る。その時のブランチ名は、feature/<issue id>とする。また、一つのfeatureブランチで複数のissueに対応する時には、feature/<issue id1>,<issue id2>_...とする。例えば、feature/#7,#8など。こうすることで、GitHub上でブランチ名がissueへのリンクとなる。 と書かれていたので、`feature`ブランチから`feature_#17_yamada`といった名前のブランチを作成したのですが、この認識が間違っているということなのでしょうか? 別の記事にはなりますが、こちらでもブランチ名の参考として`feature-〇〇-▲▲-□□`といった名前のブランチを作成することがベストプラクティスであると記載されていました。 https://takeda-no-nao.net/programming/git/git-branch-naming-convention/
hoshi-takanori

2023/09/12 09:56

> と書かれていたので、`feature`ブランチから`feature_#17_yamada`といった名前のブランチを作成したのですが、この認識が間違っているということなのでしょうか? はい、間違いです。「機能追加や issue 対応のための feature ブランチ」の具体的なブランチ名を feature/<issue id> や feature-〇〇-▲▲-□□ とする、と読むのが自然です。
tamoto

2023/09/12 09:59

> この認識が間違っているということなのでしょうか? はい。その認識が誤りです。 > ……ので、`feature`ブランチから`feature_#17_yamada`といった名前のブランチを作成した なぜ誤りなのかというと、そもそも git-flow を含む各種ブランチ運用戦略には `feature` ブランチなんてものは存在しないからです。 `feature` ブランチが存在しないので、「`feature` ブランチから」各種ブランチを作成することは不可能です。 もう一度言いますが、参考にしている記事で「feature branches がどこから分岐していてどこにマージされているか」を確認してみて下さい。 この認識を修正すれば、残りの疑問には hoshi-takanori さんのコメントが答えになります。
ikedas

2023/09/30 01:04

> ローカルでfeature_#17_yamadaをfeatureにマージしても、変更点がないとかでリモートリポジトリにプッシュすることができません。 このときに ・実行したコマンド ・その結果出力されたメッセージ を、省略や解釈をまじえず、そのまま、すべてを、記してください。そうしないと、的確なアドバイスをもらえません。 ちなみに、このコメント欄に書くのではありません。質問文を編集して追記してください。
guest

回答1

0

前提

まず、質問の文章からgit-flowのルールに則って運用していないのでしっかりルールを確認しましょう。
その前提は置いておいて、解答します。

回答

どちらでも良いです。
自分の好きなやり方でやるのが良いです。

ローカルでfeature_#17_yamadaをfeatureにマージしても、変更点がないとかでリモートリポジトリにプッシュすることができません。

そんなことはありません。

投稿2023/09/30 00:21

matsubokkuri

総合スコア751

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問