Git的使用五:版本回退、提交以及实际应用场景

摘要:关于revert和reset,我们团队的原则是已push到远程仓库的用revert,其它情况用reset。结合实际情况作出相应判断。

一、 reset回退

# 查看历史版本
git log		#可以加上 --pretty=oneline 参数 显示比较少的信息。comiit id(即为版本号,一大串的那个)

# 回退到某个历史版本,reset指针回退,
git reset --hard #后面加上某个版本的版本号

# 这时候提交代码会提示当前版本落后
	#On branch master
	#Your branch is behind 'origin/master' by 1 commit, and can be fast-forwarded.
	#  (use "git pull" to update your local branch)
	#nothing to commit, working directory clean

# 强制提交到远程仓库 慎用!!!
git push -f
 

二、revert

更详细的介绍,已经解决撤回merge操作的方案和注意事项

# revert 需要分情况 具体点上述链接 这里只列举普通情况

# revert是把此次的回退作为新的提交
	git revert commit #后面跟HEAD最近一次 或者版本号
# 直接提交
	git push

三、实际应用场景

情况1:文件已作出修改 但是没进行 add操作 想要还原文件

git checkout 文件名或者目录名 (还原相应的文件或者目录下的文件)

git checkout .    还原全部文件

情况2:文件作出修改 已进行add操作 但是没有 commit 想要删除add

git reset HEAD     撤销全部已提交修改

git reset HEAD filename    撤销对指定文件的修改

情况3:文件作出修改 已进行过 commit 操作但是没有push 想要删除commit

# 查看节点 
git log 

	# commit xxxxxxxxxxxxxxxxxxxxxxxxxx 
	# Merge: 
	# Author: 
	# Date:
	
# reset
git reset commit_id

情况4:文件作出修改已push到仓库

  此次操作之前和之后的commit和history都会保留,并且把这次撤销作为一次最新的提交


git revert HEAD  撤销前一次 commit 
git revert HEAD^  撤销前前一次 commit 
git revert commit-id  (撤销指定的版本,撤销也会作为一次提交进行保存) 
git revert是提交一个新的版本,将需要revert的版本的内容再反向修改回去,版本会递增,不影响之前提交的内容。

也可以使用reset 

git reset --hard HEAD^     reset是指将HEAD指针指到指定提交,历史记录中不会出现放弃的提交记录。

请点击: git revert 更详细的介绍,已经解决撤回merge操作的方案和注意事项

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值