博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
撤消git pull,如何将repos带到旧状态
阅读量:3575 次
发布时间:2019-05-20

本文共 1759 字,大约阅读时间需要 5 分钟。

有没有办法恢复或撤消git pull,以便我的源/ repos将进入git pull之前的旧状态? 我想这样做是因为它合并了一些我不想这样做的文件,但只合并了其他剩余的文件。 所以,我想要恢复这些文件,这可能吗? 谢谢 :)

编辑我想撤消git merge以澄清。 看到一些答案后,我就这样做了

git reflogbb3139b... HEAD@{0}: pull : Fast forward01b34fa... HEAD@{1}: clone: from ...name...

现在,我该怎么办? 做git reset --hard可以吗? 我不想再把它搞砸了,所以要求详细的步骤?


#1楼

git pull会做两件事:它会执行git fetch ,然后执行git merge ,它会合并已设置为在配置中合并的分支。

所以你想要做的是撤消合并(撤消fetch并没有多大意义,也不是必要的)。

要做到这一点,你可以尝试使用git reset --hard重置为以前的状态。 使用命令查找先前状态的SHA-1,然后重置为该状态。

警告git reset --hard删除所有未提交的更改。


#2楼

如果你有gitk(尝试从你的git命令行运行“gitk --all”),那很简单。 只需运行它,选择要回滚的提交(右键单击),然后选择“将主分支重置为此处”。 如果您没有未经修改的更改,请选择“硬”选项。


#3楼

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

git reset --hard a0d3fe6

通过这样做找到a0d3fe6

git reflog

并查看要撤消的点。


#4楼

撤消合并的更现代的方法是:

git merge --abort

而稍微老一点的方式:

git reset --merge

之前答案中描述的老派方式(警告:将丢弃所有本地更改):

git reset --hard

但实际上,值得注意的是git merge --abort只相当于git reset --merge因为存在MERGE_HEAD 。 这可以在git help for merge命令中读取。

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在日常工作中更有用。


#5楼

你可以做git reset --hard ORIG_HEAD

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


#6楼

假设在执行git pull之前$COMMIT是最后一次提交id。 你需要撤消最后一次拉动是什么

git reset --hard $COMMIT

奖金:

在谈到拉动时,我想分享一个有趣的技巧,

git pull --rebase

上面的命令是我git生活中最有用的命令,节省了大量的时间。

在将新提交推送到服务器之前,请尝试此命令,它将自动同步最新的服务器更改(使用fetch + merge),并将您的提交放在git log的顶部。 无需担心手动拉/合并。

有关详细信息,请访问: :


#7楼

它首先使用: git reflog

找到你的previus状态的SHA并制作(HEAD @ {1}就是一个例子)

git reset --hard HEAD@{1}

#8楼

如果有一个失败的合并,这是想要撤消git pull的最常见原因,运行git reset --merge就完全符合预期:保留已获取的文件,但撤消git pull尝试合并的合并。 然后,人们可以决定在没有git merge有时产生的混乱的情况下做什么。 而且它并不需要一个以找到确切的提交ID --hard提到的所有其他答案需要。


#9楼

这是恢复拉动变化的最简单方法。

git reset --hard 9573e3e0

9573e3e0是你的{提交ID}

转载地址:http://gaogj.baihongyu.com/

你可能感兴趣的文章
redis缓存穿透
查看>>
redis缓存雪崩
查看>>
mysql的事务隔离
查看>>
ElasticSearch(0) ES的认识
查看>>
JPA入门
查看>>
JPA关系
查看>>
4.spring注解和生命周期相关的(了解)
查看>>
3.spring 的纯注解配置
查看>>
4.Spring 整合 Junit
查看>>
安装配置 Kali Linux 笔记
查看>>
持久加密U盘安装 Kali Linux 笔记
查看>>
[ 笔 记 ] 主动信息收集_002
查看>>
设计模式学习
查看>>
操作系统学习总结
查看>>
Java JSON字符串与自定义类/基本类型相互转换
查看>>
Java中时间戳和时间格式的转换
查看>>
Dubbo基础知识整理
查看>>
计算机网络知识整理
查看>>
Java基础知识
查看>>
操作系统知识整理
查看>>