使用git怎么撤销本地(工作区)修改,暂存区修改,版本区(本地仓库)修改,以及远程仓库的提交

大家在做项目的时候经常会使用git,但同时也会遇到很多问题,比如刚修改后得代码突然后悔了,这时怎么办呢
1、未使用git add 的时候----在工作区
git checkout -- filepathname //放弃修改某个文件
例如: git checkout -- readme.md
git checkout .  //放弃所有修改的文件

git restore . //放弃所有修改的文件

2、已经使用git add 的时候----在暂存区
git reset HEAD filepathname //恢复某个文件到工作区
例如: git reset HEAD readme.md
git reset HEAD . //恢复所有文件到工作区
git  reset  //恢复所有文件到工作区

注意:这里只是恢复到了工作区,如果想放弃修改的代码还需要执行步骤1(工作区)中的操作
3、已经使用git commit提交的了代码----在版本区(本地仓库)
1、如果你想全部撤回并回到远程仓库最新的状态(不保存代码修改)
	1、git reset --hard HEAD^ //回退上一次commit的状态
		//或git reset --hard commit_id //回退某个版本+id号就行
	2、git pull //拉取一下远程最新的
2、如果你想拉回工作区并保存修改。只撤销 commit 和 add(保存代码修改)
		git reset --mixed HEAD^
		或
		git reset HEAD^
3、如果你想撤销commit 但是不撤销 add(保存代码修改)
		git reset --soft HEAD^ //只撤销了git commit , 修改后的代码还在暂存区
4 、终极版,由于你太懒,不管是暂存区,版本区,你只想撤销修改并回到远程最新的版本(不保存代码修改)
 	1 、git fetch --all
 	2、git reset --hard origin/master //git reset --hard origin/远程分支名
	注意:这里只在暂存区和版本区哦
	
4、如果你git push 到了远程分支,这时候你后悔了怎么办
胆小误试,搞之前记得做备份
第一种
回滚远程分支的最近一次提交
git revert HEAD
git push origin 分支名
例如:我刚在master分支提交了一次
   git revert HEAD
   git push origin master
慎用啊~~~这种方式会在远程生成一个版本号

第二种
git reset --hard HEAD^ //回退上一个版本
或
git reset --hard commit_id //回退到某个版本 id就是你的版本号
git push origin HEAD --force //强制推送到远程,可能会受到保护

自己总结的,如果有哪些问题或者不对的地方,也希望大家能给出指导意见。谢谢!

  • 19
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
要将本地代码提交仓库,可以按照以下步骤进行操作: 1. 首先,连接到远程仓库使用命令`git remote add origin 仓库的https地址`将远程仓库与本地仓库进行关联。\[1\] 2. 如果远程仓库中没有任何内容,可以跳过此步骤。否则,可以使用命令`git pull --rebase origin master`拉取远程仓库中的代码。这将确保你的本地仓库远程仓库保持同步。\[1\] 3. 添加文件到暂存区使用命令`git add .`将所有文件添加到暂存区。这将把文件从工作添加到暂存区,准备提交到代码仓库。\[4\] 4. 添加提交信息。使用命令`git commit -m "提交信息"`添加提交信息。在引号中填写你的提交信息,描述你所做的更改。\[4\] 5. 最后,将本地库内容推送到远程仓库使用命令`git push origin master`将当前分支的代码推送到远程仓库。你可能需要输入用户名和密码进行验证。如果在第三步中已经设置了用户名和邮箱,这一步将直接上传代码,不需要再次输入验证信息。\[2\] 这样,你的本地代码就成功提交仓库了。 #### 引用[.reference_title] - *1* [怎么把本地代码提交到代码仓库(gitlab,gitee...)上去](https://blog.csdn.net/lixuanhong/article/details/127370617)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Git命令提交本地代码到仓库](https://blog.csdn.net/weixin_56657940/article/details/123968374)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值