我的项目我有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次提交:
分行提交Branch1
我的提交(“我的分支”提交消息)。
我不明白这种行为。为什么Branch1的提交在我的分支上显示为提交?有没有办法删除它,即只在我的分支中提交?
答案 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
)。