首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Git - master在原始/master之前-不希望它

Git - master在原始/master之前-不希望它
EN

Stack Overflow用户
提问于 2015-07-30 03:04:30
回答 3查看 248关注 0票数 2

我的master分支比原始/master提前14次提交。我希望它与源/主同步,因为这14个提交是针对特定分支的,而不是主分支。如何回滚?

EN

回答 3

Stack Overflow用户

发布于 2015-07-30 03:07:34

如果您希望本地主服务器与源/主服务器相同,则需要签出master并运行:

代码语言:javascript
复制
git reset --hard origin/master

注意:这将丢弃工作目录中的任何更改。

票数 5
EN

Stack Overflow用户

发布于 2015-07-30 04:55:52

您的主分支有一些(14)提交给其他分支,而不是主分支。因此,首先必须将工作复制到其正确的分支。假设工作实际上应该放在名为dev-branch的分支中。在此之前,我们需要切换到dev-branch。

代码语言:javascript
复制
git checkout dev-branch

现在,使用git merge命令将工作从master转移到dev-branch。git merge命令合并当前(dev- branch )分支的指定分支。

代码语言:javascript
复制
git merge master

如果合并冲突,请遵循以下说明:http://softwarecave.org/2014/03/03/git-how-to-resolve-merge-conflicts/。如果没有冲突,则继续下一步。

在将提交复制到其正确的分支之后,必须删除来自主分支的不需要的提交,并且根据您的要求,本地主需要与远程主(源/主)同步。git reset --hard命令丢弃从工作目录到指定状态的更改,我们在这里将该状态指定为远程主机的状态。

代码语言:javascript
复制
git reset --hard origin/master

到目前为止,所有的工作都已经移动到您需要的分支,提交已经从本地主机丢弃,本地主机与远程主机同步。

票数 2
EN

Stack Overflow用户

发布于 2015-07-30 03:22:04

假设你还没有把你的代码推到你的遥控器上...

代码语言:javascript
复制
$git checkout yourBranch
$git rebase master

这将把修改从master带到yourBranch。

现在去掉master中的提交

代码语言:javascript
复制
$git rebase -i HEAD~15

这将打开一个窗口,其中包含最近15次提交的列表,删除所有这些行。然后保存,然后推送

编辑:根据@skeggse建议,使用最后15个提交。有关说明,请参阅评论

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31709051

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档