有没有办法恢复或撤销git拉,使我的源/回购将回到做git拉之前的旧状态? 我想这样做是因为它合并了一些我不想这样做的文件,但只合并了其他剩余的文件。我想拿回那些文件,可以吗?

编辑:我想撤销git合并澄清。 看到一些答案后,我这样做了

git reflog
bb3139b... HEAD@{0}: pull : Fast forward
01b34fa... HEAD@{1}: clone: from ...name...

现在,我该怎么办?做git重置——难吗?我不想再搞砸了,所以问详细步骤?


当前回答

如果你有gitk(试着运行“gitk—all from your git命令行”),这很简单。只需运行它,选择你想要回滚到的提交(右键单击),并选择“重置主分支到这里”。如果没有未提交的更改,则选择“hard”选项。

其他回答

一个更现代的撤销合并的方法是:

git merge --abort

还有一种稍显古老的方式:

git reset --merge

在前面的回答中描述的老派方法(警告:将丢弃所有的本地更改):

git reset --hard

但实际上,值得注意的是,git merge——abort只相当于git reset——merge,前提是存在MERGE_HEAD。这可以在git帮助合并命令中读取。

git merge --abort is equivalent to git reset --merge when MERGE_HEAD is present.

失败的合并后,如果没有MERGE_HEAD,失败的合并可以用git reset -merge来撤销,但不一定要用git merge -abort来撤销,所以它们不仅是同一件事情的旧语法和新语法。这就是为什么我发现git reset -merge在日常工作中更有用。

这是恢复拉取更改的最简单方法。

** Warning **

请备份您更改的文件,因为它将删除新创建的文件和文件夹。

git reset --hard 9573e3e0

其中9573e3e0是你的{提交id}

与jkp的答案相同,但下面是完整的命令:

git reset --hard a0d3fe6

a0d3fe6是怎么找到的

git reflog

看看你想要撤销的点。

如果你有gitk(试着运行“gitk—all from your git命令行”),这很简单。只需运行它,选择你想要回滚到的提交(右键单击),并选择“重置主分支到这里”。如果没有未提交的更改,则选择“hard”选项。

Git拉做以下操作。

i. 去取 二、Git 合并

要撤销拉做任何操作:

I. git重置-硬-它恢复所有本地更改也 或 2Git重置—硬master@{5.days. exe。Ago}(比如10.minutes.ago, 1.小时。前,1.天。)来进行局部更改。 或 3Git重置——硬提交

改进:

下次使用git pull -rebase而不是git pull..它的同步服务器更改(获取&合并)。