git 放弃本地修改,强制拉取更新
开发项目时,对于本地已修改但又不想保留的代码(比如你代码改崩了),可以用如下两种方法来重置代码:
1、restore 重置
如果你修改了代码,但是并未执行 git add
操作,可直接执行:
1 | git restore . |
. 表示所有文件,如果想重置个别文件,指定文件路径即可
1 | git restore <文件>... |
注意⚠️:如果你已经执行了 git add
操作,此时代码已保存至暂存区,需要先取消暂存区变更:
1 | git restore --staged . |
或者
1 | git reset . |
然后,再执行 git pull
拉取远程代码同步即可。
2、reset 回退
reset
比较暴力,相当于 可适用于 代码在工作区、暂存区、仓库区等任何场景,重置后不可恢复������♂️,对于新手有一定的安全隐患。
1 | git fetch --all |
复制
- git fetch 指令是下载远程仓库最新内容,不做合并。
- git reset 指令把HEAD指向master最新版本。
reset –hard:重置后不保留暂存区和工作区 reset –soft:保留工作区,并把重置 HEAD 所带来的新的差异放进暂存区(此时代码的变更状态相当于执行完
git add
命令) reset –mixed:reset的默认参数,保留工作目录,并重置暂存区(此时代码的变更状态相当于执行git add
命令之前)
3、stash 暂存(推荐)
我比较喜欢的方法,是用stash,暂存代码再同步。
首先,将所有代码添加至暂存区:
1 | git add . |
然后,将代码临时保存:
1 | git stash |
此时代码会重置到修改前的状态,可以同步远程仓库区,完事儿。
1 | git pull |
同步后,如果还想继续修改原来的代码,可将临时代码恢复至工作区:
1 | git stash pop |
注意⚠️,stash 用法有很多,比如save,push,pop,clear等,需要使用可以查阅stash 命令
- 标题: git 放弃本地修改,强制拉取更新
- 作者: Chris Harris
- 创建于: 2023-08-02 01:44:48
- 更新于: 2023-08-02 09:47:25
- 链接: https://s4g.top/2023/08/01/git-放弃本地修改,强制拉取更新/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。