2017-09-07 18 views
1

できるだけ明確にしたい。例えば、コミットされた履歴のない別のブランチからブランチを作成する

ステップ:

  1. 私は支社育っプル要求に取り組んでいます。
  2. PRの承認の下に、このブランチは、私は支社
  3. 支社からBRANCH2を作成しています承認し、枝
  4. 私が支社で仕事を終えたとき、私はPRを上げてるの開発にマージされましたが。しかし、人々が私のPRを見るとき、ブランチからのすべての歴史を持っていると思います。

質問:(私がブランチ2とブランチ1のためにPRを上げているとき)どうすれば、ブランチ2とブランチ2の間の違いだけを見て、(ブランチ1 +ブランチ2)を展開しないでください。基本的には、ブランチ2のPRを見ているときはブランチ1から作成されたものの、ブランチ1はすでにマージされているため、ブランチ1も検索する必要があります。

+0

あなたはbranch2で開発をマージできますか?そこにマージコミットがある場合は、前の履歴を省略することがあります。 – derelict

+0

ブランチ1をマージした後にRebaseブランチ2を作成しますか? – Martin

答えて

2

私がブランチ2で作業を終えたら、私はPRを挙げています。しかし、人々が私のPRを見るとき、ブランチからのすべての歴史を持っていると思います。

すべてを行う必要がgit fetch upstream(あなたがフォークしているオリジナルのレポを基準として、上流git remote -vリストを想定)
(それは、それを追加しません:git remote add upstream /url/of/original/repo)である

次にあなたがリベースうあなたのbranch2

git checkout branch2 
git rebase upstream/master 
git push --force 

branch1受け入れられたコードとマージを含む)上流/マスターの上の最後のコマンドは、ハイテクを上書きします新しい更新されたものと branch2の物語。 branch2の既存のPRは自動的に更新されます。
その差分履歴には branch2コミットのみが表示され、 branch1のものは含まれなくなりました。

+0

'git fetch upstream 'を実行すると、エラーが' fatal:リモートリポジトリから読み込めませんでした。しかし 'git remote -v'をチェックすると' origin https://github.com/project.git(fetch) 'が返されます。したがって、 'git rebase upstream/master'コマンドは間違いなく動作しません。しかし、 'branch1'は既にgithubからマージされ、削除されました。それは削除された問題かもしれません。あなたの答えから、私は基本的に私の最終目標としてmasterを使って 'branch2'をrebaseする必要があると言っていますか? –

+0

上流に 'git remote add upstream upstream https:// url/of/original/repo'を追加するだけです。 'upstream/master'の上に' branch2'をリベースし、そこから 'branch2'を強制的に押す必要があります。 – VonC

関連する問題