我很困惑为什么 GitHub 拉取请求显示了很多我没有做的提交,当我直接从当前主服务器重新定位时。
我做了以下事情:
git pull
git checkout -b my-new-branch
Run Code Online (Sandbox Code Playgroud)
当我处理东西时,日子一天天过去,然后:
git add .
git commit -m 'Add my amazing commit'
Run Code Online (Sandbox Code Playgroud)
添加更多提交,然后准备推送:
git fetch
git rebase master
Run Code Online (Sandbox Code Playgroud)
变基运行没有冲突,所以:
git push origin my-new-branch
Run Code Online (Sandbox Code Playgroud)
但是,当我在 GitHub 上打开该分支时,它显示的是我在团队其他成员的 92 次提交之上的提交。当我从 master 重新定位时,为什么它显示这些与 master 不同?
好吧,这是因为我没有更新我的本地master,因为我只提取了而没有拉取。哎哟!
我按如下方式解决了这个问题。首先我更新了本地master:
git checkout master
git pull
Run Code Online (Sandbox Code Playgroud)
然后我从最新的 master 副本创建了一个新分支:
git checkout -b my-second-branch
Run Code Online (Sandbox Code Playgroud)
然后我检查了旧分支上我关心的提交的哈希值是什么:
git whatchanged my-new-branch
Run Code Online (Sandbox Code Playgroud)
然后我从第一个分支中挑选出我关心的提交到第二个分支上:
git cherry-pick hashofmyfirstcommit
git cherry-pick hashofmysecondcommit
Run Code Online (Sandbox Code Playgroud)
然后我推送了新分支:
git push origin my-second-branch
Run Code Online (Sandbox Code Playgroud)
然后我创建了一个 PR,并删除了旧分支和旧 PR。
| 归档时间: |
|
| 查看次数: |
3216 次 |
| 最近记录: |