前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >git 放弃本地修改,强制拉取更新

git 放弃本地修改,强制拉取更新

作者头像
全栈程序员站长
发布于 2022-08-23 10:25:28
发布于 2022-08-23 10:25:28
6.5K00
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

开发项目时,对于本地已修改但又不想保留的代码(比如你代码改崩了),可以用如下两种方法来重置代码:

1、restore 重置

如果你修改了代码,但是并未执行 git add 操作,可直接执行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git restore .

. 表示所有文件,如果想重置个别文件,指定文件路径即可

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git restore <文件>...

注意⚠️:如果你已经执行了 git add 操作,此时代码已保存至暂存区,需要先取消暂存区变更:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git restore --staged .

或者

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git reset .

然后,再执行 git pull 拉取远程代码同步即可。

2、reset 回退

reset 比较暴力,相当于 可适用于 代码在工作区、暂存区、仓库区等任何场景,重置后不可恢复🙅‍♂️,对于新手有一定的安全隐患。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git fetch --all
git reset --hard origin/master
git pull   // 这一步为了同步远程代码,不需要的话可不执行
  • git fetch 指令是下载远程仓库最新内容,不做合并。
  • git reset 指令把HEAD指向master最新版本。

reset –hard:重置后不保留暂存区和工作区 reset –soft:保留工作区,并把重置 HEAD 所带来的新的差异放进暂存区(此时代码的变更状态相当于执行完 git add命令) reset –mixed:reset的默认参数,保留工作目录,并重置暂存区(此时代码的变更状态相当于执行 git add命令之前)

3、stash 暂存(推荐)

我比较喜欢的方法,是用stash,暂存代码再同步。

首先,将所有代码添加至暂存区:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git add .

然后,将代码临时保存:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git stash

此时代码会重置到修改前的状态,可以同步远程仓库区,完事儿。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git pull

同步后,如果还想继续修改原来的代码,可将临时代码恢复至工作区:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git stash pop

注意⚠️,stash 用法有很多,比如save,push,pop,clear等,需要使用可以查阅stash 命令

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/139088.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月7,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验