git 远程回滚,和.gitignore的使用和git reset --hard加不加hard的区别

1.需求:

1.远程仓库提交了一版错误信息
2.push到远程github的分支发现出现一些不必要的.log,.class文件等,需要在本地添加过滤
远程仓库的版本信息:
commitId:4f11111:最新版(需要去除不必要的log)
commitId:4f2222:提交的错误
commitId:4f3333:正确版

2.解决思路,

1.本地回退到正确版:commitId:4f3333

git reflog  #查看历史版本信息,找到commitID
git reset --hard  commitId:4f3333  # hard选项,表示彻底将工作区、暂存区和版本库记录恢复到指定的版本库
/**
1.1:git reset vs git revert
git reset:是直接回退到指定版本,并不记录(删除)中间版本
git revert: 往前新生成一个commitID,并把指定的版本内容赋值到当前版本。
**/
/**
1.2: git reset --hard commitID和git reset commitID的区别
git reset commitID   		:表示本地仓库和暂存区回退到指定版本,工作区不改变;
git reset --hard commitID  	:表示本地仓库和工作区回退到指定版本,并且将暂存区的内容同步到工作区
git reset --hard commitID等效于git reset commitID + git checkout .
/**

2.本地添加.ignore文件,过滤不需要追踪的信息

target/
.idea/
logs/
*.iml
.settings/
*.classpath
*.project
.svn/
*.class
*.deployables

3.删除本地缓存区和本地仓库之前已经被追踪的.log .class等信息

git rm -r --cached .
git add .
git commit -m 'update .gitignore'

4.强制推送到远程仓库(直接推送有问题,因为版本已经回退,远程版本优先于本地)dev_1.0(当前分支)

git push -f origin dev_1.0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值