Git 放弃本地修改,强制和之前的某次提交同步

Git 放弃本地修改,强制和之前的某次提交同步,有四种情况:


1.没有执行 git add的:

可以用命令,

git checkout filepathname(eg: git checkout test.md)

如果是放弃所有,直接执行

git checkout .


此命令用来放弃掉所有还没有加入到缓存区(就是 git add 命令)的修改:内容修改与整个文件删除。

但是此命令不会删除掉刚新建的文件。因为刚新建的文件还没已有加入到 git 的管理系统中。所以对于git是未知的。自己手动删除就好了。


2.已经执行git add缓存了的:

可以用命令

git reset HEAD file-name.txt

同样放弃所有就是

git reset HEAD .

执行完此命令后,文件状态就回归到第一种情况了,此时再按照情况1处理。


3.已经用 git commit 提交了的:

可以用命令回退到上一次commit的状态

git reset --hard HEAD^


可以用命令回退到任意版本:

git reset --hard commit-id


4.有些时候我们只想要 git服务器中的最新版本的项目,放弃本地的所有修改,就需要用 git pull 强制覆盖,具体代码如下:

git fetch -all
git reset -hard origin/master
git pull


声明:本站所有文章,如无特殊说明或,均为原创发布。商业转载请联系作者获得授权,非商业转载请注明出处。本站所有图片如无特殊说明均为AI生成。
真诚赞赏,手留余香
赞赏
JavaScript
MySQL 数据库中货币单位如何存储
2023-01-09
JavaScript
JavaScript 代码混淆加密工具 javascript-obfuscator
2023-03-27
Jone
在什么样的花园里面,挖呀挖呀挖
种什么样的种子,开什么样的花
随机推荐
MySQL 字符串截取函数 SUBSTRING_INDEX
Linux 下 configure、make 、make test/make check、sudo make install 的作用
JavaScript 中的数据类型自动转换为 Boolean 状态
JavaScript 中 0.1 加 0.2 不等于 0.3 的原因和解决方法
curl 的用法指南
MySQL 使用 DATE_FORMAT() 和 FROM_UNIXTIME() 格式化时间
Node.js 的 URL 的模块
数据库中间表应该如何命名
MySQL 批量修改时间
CSS 滚动条样式修改

微信联系我

夜间模式切换
回到顶部