所以我分叉了一个仓库,现在我对master分支进行了更改并发送了pull请求,我犯了一个错误,因为他们希望更改在另一个分支dev
分支中完成。
如何将更改从master更改为dev并再次发送pull请求?
答案 0 :(得分:0)
假设:
使用一些图形工具来帮助您查看每件事情是否顺利(gitk;做“shift F5”以刷新视图,是一个不错的选择)
# on top of your dev : first create the dev branch
git checkout -b <dev-branch-name>
# then you must rewind where you would like master to be master
git checkout <sha 1 of position where master should be>
# at this point assign master head to here
git branch -f master
# now you have to push the two branches
# 1st dev branch
git push <remote-name> <dev-branch-name>
# then master note the -f force option
git push -f <remote-name> master
在每个点上,您都会在图形工具工具中检查它是否符合预期
答案 1 :(得分:0)
为什么不使用cherry-pick
?
我假设您当前的分支是master
。如果是,请使用dev
检查您确实要提交到git log
的提交ID。然后你会看到这样的提交日志:
commit ca82a6dff817ec66f44342007202690a93763949
Author: AuthorName < author@gee-mail.com>
Date: Mon Mar 17 21:52:11 2008 -0700
changed the version number
commit 085bb3bcb608e1e8451d4b2432f8ecbe6306e7e7
Author: AuthorName < author@gee-mail.com>
Date: Sat Mar 15 16:40:33 2008 -0700
removed unnecessary test code
如果您要将提交085bb3bcb608e1e8451d4b2432f8ecbe6306e7e7
应用于dev
。
和
git checkout dev
git cherry-pick 085bb3bcb608e1e8451d4b2432f8ecbe6306e7e7
之后,您可以再次发送拉取请求。