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

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

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

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


当前回答

运行git pull执行以下任务,顺序如下:

git fetch git 合并

合并步骤将在配置中合并已设置的分支。您想撤消合并步骤,但可能不撤消取回(没有多大意义,也不应该是必要的)。

要撤消合并,使用git reset—很难将本地存储库重置到以前的状态;使用git-reflog找到之前状态的SHA-1,然后重置到它。

警告

本节中列出的命令删除所有未提交的更改,可能会导致工作丢失:

git reset --hard

或者,重置到一个特定的时间点,例如:

git reset --hard master@{"10 minutes ago"}

其他回答

你可以做git重置——hard ORIG_HEAD

因为“pull”或“merge”在执行这些操作之前将ORIG_HEAD设置为当前状态。

运行git pull执行以下任务,顺序如下:

git fetch git 合并

合并步骤将在配置中合并已设置的分支。您想撤消合并步骤,但可能不撤消取回(没有多大意义,也不应该是必要的)。

要撤消合并,使用git reset—很难将本地存储库重置到以前的状态;使用git-reflog找到之前状态的SHA-1,然后重置到它。

警告

本节中列出的命令删除所有未提交的更改,可能会导致工作丢失:

git reset --hard

或者,重置到一个特定的时间点,例如:

git reset --hard master@{"10 minutes ago"}

Git拉做以下操作。

i. 去取 二、Git 合并

要撤销拉做任何操作:

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

改进:

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

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

如果有一个失败的合并,这是最常见的原因,想要撤销一个git拉,运行git reset——merge完全是人们所期望的:保留获取的文件,但撤销的合并,git拉试图合并。然后,你可以决定如何做,而不是git合并有时产生的混乱。它不需要找到确切的提交ID,这在其他答案中很难提到。