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

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

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

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

マージ

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

GitHub

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

バージョン管理

バージョン管理はコンピューター上にファイルとして格納されているドキュメント・プログラム・その他の情報の変更履歴等を管理するものです

コードレビュー

コードレビューは、ソフトウェア開発の一工程で、 ソースコードの検査を行い、開発工程で見過ごされた誤りを検出する事で、 ソフトウェア品質を高めるためのものです。

Q&A

解決済

1回答

2799閲覧

2回に分けてプルリクを出したが、2回目のプルリクに既にマージされた1回目のプルリクのコミットが含まれている。

nanikamado

総合スコア13

Git

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

マージ

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

GitHub

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

バージョン管理

バージョン管理はコンピューター上にファイルとして格納されているドキュメント・プログラム・その他の情報の変更履歴等を管理するものです

コードレビュー

コードレビューは、ソフトウェア開発の一工程で、 ソースコードの検査を行い、開発工程で見過ごされた誤りを検出する事で、 ソフトウェア品質を高めるためのものです。

0グッド

0クリップ

投稿2021/11/28 17:48

編集2021/11/28 17:50

evdev-rs というライブラリにプルリクエストを出しました。

プルリクエストを2回に分けて出そうと思い、次のようなことをしました。

  1. GitHubでリポジトリ(ndesh26/evdev-rs)をフォークする(nanikamado/evdev-rs)
  2. ローカルにクローンし、fix-header-dirというブランチを作成する
  3. fix-header-dirで1件コミットする
  4. fix-header-dirからimpl-ordというブランチを作成する
  5. impl-ordで1件コミットをする
  6. fix-header-dirimpl-ordの内容を(nanikamado/evdev-rs)にプッシュする
  7. GitHubで元のリポジトリ(ndesh26/evdev-rs)に対してfix-header-dirをプルリクエストに出し、マージされる(https://github.com/ndesh26/evdev-rs/pull/78)
    イメージ説明
  8. GitHubで元のリポジトリに対してimpl-ordをプルリクエストに出す (https://github.com/ndesh26/evdev-rs/pull/79)
    イメージ説明

上記のことをした後、2回目のプルリクエストの画面で "Files changed" のタブを見てみると、1回目の既にマージされたはずの変更が差分に含まれていました。また、プルリクエストに含まれるコミットの数が1件になることを期待していたのですが、1回目のプルリクエストに入れたコミットも含まれていて、2件になっていました。

これを再現しようと思い、GitHubにテスト用プライベートリポジトリを作って、同じようなことをやってみたのですが、既にマージされたコミットが新しいプルリクエストにも含まれているというような状況を再現することはできませんでした。

なぜ1回目のプルリクエストの内容が2回目のプルリクエストにも含まれているのでしょうか。プルリクエストが見づらくなってしまうため、今後は同じようなことは起こしたくないのですが、どうすれば良かったのでしょうか。

プルリクエストを出すのは初めてで、いろいろなことがよく分かっていません。

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

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

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

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

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

guest

回答1

0

ベストアンサー

fix-header-dirbranchからimpl-ordbranchが生えていることと、このレポジトリの方針がrebase mergeする方針だからのようですね。

b5a6eb5063a76bとして、ed7d84f2339a6cとして取り込まれました。

なので#79では#78でのcommitが取り込まれていると判定できず、2commit見えているわけです。

イメージ説明

投稿2021/11/30 13:08

編集2021/11/30 13:10
yumetodo

総合スコア5850

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

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

nanikamado

2021/11/30 15:11

ありがとうございます。なるほど、rebase merge が原因だったんですね。謎が解けました。 もう少し勉強して、この場合どうするのが正解だったのかを考えてみます。
yumetodo

2021/11/30 15:51

別にコレで間違ってはいないと思いますね。強いて言うなら別にPR一つで良かったのではとか、1つ目が取り込まれたあと2つ目をrebaseしたらとか
nanikamado

2021/11/30 16:04

なるほど。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問