git:你的分支和'origin / master'有分歧 - 如何丢弃本地提交?

时间:2013-11-08 17:21:17

标签: git

我在git中有以下消息:

# Your branch and 'origin/master' have diverged,
# and have 3 and 8 different commits each, respectively.
#   (use "git pull" to merge the remote branch into yours)

我想丢弃3个本地提交,并在origin / master处提取8个远程提交。

(合并将变得非常困难,一旦掌握了最新版本,我宁愿再次进行3次本地提交。)

我该怎么做?

6 个答案:

答案 0 :(得分:137)

git fetch origin
git reset --hard origin/master

答案 1 :(得分:26)

要在临时分支上保留旧提交,以备不时之需:

git branch temp

然后切换到新主人

git fetch origin
git reset --hard origin/master

答案 2 :(得分:4)

尝试这样做可以吹走你的本地提交:

git reset --hard HEAD~4

答案 3 :(得分:3)

作为合并的替代方法,您可以使用以下命令将功能分支重新绑定到主分支上:

foreach (HtmlAgilityPack.HtmlNode node in doc.DocumentNode.SelectNodes("//tr"))
{
     foreach (HtmlAgilityPack.HtmlNode node2 in node.SelectNodes("//td[@width]=0%"))
     {

     }
}

答案 4 :(得分:1)

如果硬重置没有为您剪切并且您不想进行拉式合并,则可以通过删除本地分支并重新下载原始分支来丢弃本地不需要的更改:

git branch -D <local branch>
git checkout -b <branch name> origin/<branch name>

master为例:

git branch -D master
git checkout -b master origin/master

答案 5 :(得分:0)

要删除最新的本地提交,请使用以下命令:

git reset HEAD^

这将使标题返回到提交之前的状态,并允许您从master获取git pull。在从远程存储库中提取之前,请确保将所有更改保存在其他位置。

为了能够无冲突地使用git stash,然后使用git pull