git reset 的 使用(记一次解决远程代码回退)

问题

和入代码出错,需要回退.平常也没学习这方面的东西.参考链接在下面

git
正常情况下,我们的工作就是3个步骤

git add .
git commit -m 'comment'
git push

需要先理解四个概念:

工作区 -- 暂存区--本地仓库 -- 远程仓库

	平常工作修改代码,提交时先使用 "git add" 提交至暂存区,
	再通过 "git commit " 提交至本地仓库,最后才能使用 "git push" 至远程分支.
1: 修改未暂存(git diff 这个命令只检查我们的工作区和暂存区之间的差异)
	使用 "git diff"  或者 直接在编辑器看修改部分
2: 已暂存 未提交
	使用 "git diff --cached" 能看到暂存区和本地仓库之间的差异
3: 已提交 未推送
	使用 "git diff master origin/master" 能查看本地仓库与远程仓库的更改
撤销修改
1: 修改未暂存
	在编辑器里修改了文件,但还没有执行 "git add . " , 
	可以使用 "git checkout ." 进行回退
2: 暂存未提交
	已暂存, 未提交则使用 "git reset --hard" 进行恢复
	"git reset --mixed"  用于将本地仓库文件撤回至工作区
3: 已提交未推送
	此时已经提交在 本地仓库了,但是未 提交
    可以使用 "git reset --hard  origin/master"进行恢复
4: 已提交已推送
	先恢复本地仓库,再强制push到远程仓库
	4.1
	 	"git reset --hard HEAD^ "
			(git reset --hard HEAD^  回退版本信息,在Git中,
			用HEAD表示当前版本,上一个版本就是HEAD^,
			上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,
			所以写成HEAD~100。)
	4.2
		"git push -f"
			(git push -f表示将目前自己本机的代码库推送到远端,并覆盖)
	4.3 git remote update origin --prune 
			(本地更新远程分支)
    
git reset中 有三个命令(--hard、--soft、 --mixed)
git reset --soft xxx :  用于将文件提交至本地仓库后撤回暂存区的操作
git reset --mixed xxx:  用于将本地仓库文件撤回至工作区
git reset --hard xxx: 会将工作区、暂存区、本地仓库的所有提交的文件全都撤销

注意 git reset --hard 会删除工作区文件;更改大的话慎用

其他的常用git 命令

git branch : 查看当前分支
git branch -a : 查看全部分支
git checkout -b module-feature origin uat : 创建分支
git  branch -d "分支名" 删除本地分支
git push origin --delete "分支名" 删除远程分支

// 多文件冲突解决(慎用)
git cherry-pick 
	将指定的提交(commit)应用于其他分支。
	
	1  切换至 将要应用的分支 如 (master)
	2  git cherry-pick "要提交的分支" (git cherry-pick gittest)
	3  有冲突解决冲突,无冲突git push 

参考1

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值