我的master分支比原始/master提前14次提交。我希望它与源/主同步,因为这14个提交是针对特定分支的,而不是主分支。如何回滚?
发布于 2015-07-30 03:07:34
如果您希望本地主服务器与源/主服务器相同,则需要签出master并运行:
git reset --hard origin/master注意:这将丢弃工作目录中的任何更改。
发布于 2015-07-30 04:55:52
您的主分支有一些(14)提交给其他分支,而不是主分支。因此,首先必须将工作复制到其正确的分支。假设工作实际上应该放在名为dev-branch的分支中。在此之前,我们需要切换到dev-branch。
git checkout dev-branch现在,使用git merge命令将工作从master转移到dev-branch。git merge命令合并当前(dev- branch )分支的指定分支。
git merge master如果合并冲突,请遵循以下说明:http://softwarecave.org/2014/03/03/git-how-to-resolve-merge-conflicts/。如果没有冲突,则继续下一步。
在将提交复制到其正确的分支之后,必须删除来自主分支的不需要的提交,并且根据您的要求,本地主需要与远程主(源/主)同步。git reset --hard命令丢弃从工作目录到指定状态的更改,我们在这里将该状态指定为远程主机的状态。
git reset --hard origin/master到目前为止,所有的工作都已经移动到您需要的分支,提交已经从本地主机丢弃,本地主机与远程主机同步。
发布于 2015-07-30 03:22:04
假设你还没有把你的代码推到你的遥控器上...
$git checkout yourBranch
$git rebase master这将把修改从master带到yourBranch。
现在去掉master中的提交
$git rebase -i HEAD~15这将打开一个窗口,其中包含最近15次提交的列表,删除所有这些行。然后保存,然后推送
编辑:根据@skeggse建议,使用最后15个提交。有关说明,请参阅评论
https://stackoverflow.com/questions/31709051
复制相似问题