Git rebase显示早先的提交为我的

时间:2016-10-16 22:02:59

标签: git github

我的项目我有Master和Branch1。我从Branch1扩展并创建了Branch2。 Branch1和Branch2都提交了提交,Branch1是远程的,Branch2对我来说是本地的。一旦Branch1的所有功能都完成,所有提交都被压扁了。在完成我的更改后,我将更改提交到Branch2并使用以下方法在Branch1之上重新定位:

# On branch2
git add . && git commit "my branch"

# On branch1
git pull (to get latest changes and update local copy)

# On branch2
git rebase origin/Branch1

# fixed conflicts (1 file)

git rebase --continue
git push origin Branch2

然而,当我进入github.com为我的分支(Branch2)创建拉取请求时,它显示2次提交:

  1. 分行提交Branch1

  2. 我的提交(“我的分支”提交消息)。

  3. 我不明白这种行为。为什么Branch1的提交在我的分支上显示为提交?有没有办法删除它,即只在我的分支中提交?

1 个答案:

答案 0 :(得分:0)

在拉取请求中,您将看到目标分支中缺少的所有提交(例如master)。这些可以使用git log命令显示,并指​​定提交范围(请参阅Using Commit Ranges with Git Log)。

$ git log master..origin/branch1 --oneline
c675aeb all commits from branch1 squashed

$ git log master..branch2 --oneline
7be222e my branch
c675aeb all commits from branch1 squashed

GitHub并不关心最初引入的分支提交。您必须先将branch1合并到master。然后在branch2之上重新master(或将master合并到branch2)。