1checkout merge回去可能自动合并了,不推荐
git checkout commitid(前几位就行)
git branch tmp
gti checkout master
git merge tmp
2reset 不推荐 不要轻易操作
[这将会将当前分支指向指定的 commit id,并且丢弃掉该 commit id 之后的所有提交。]
git reset 的三种模式
--soft:仅重置提交记录,保留暂存区和工作区的更改。
--mixed(默认模式):重置提交记录和暂存区,但保留工作区的更改。
--hard:重置提交记录、暂存区和工作区,所有更改都会丢失。
//重置了修改后再提交
step1重置
git reset --hard commitid(前几位就行) 错误修改前一次提交
//场景----[管理员]需要将其他人的提交重置掉
//git push -f
step2下一次提交
修改
提交本地
拉取
解决冲突/merge
提交并推到远端
3revert 推荐
[通过 git revert 命令可以创建一个新的提交,用于撤销指定的版本修改][反做]
revert 最主要的一件事情要理解:假如你站在大楼的 10 层,想把第 8 层和第 9 层干掉的话,那么先 revert 第 9 层,再 revert 第 8 层
(1)
git revert commitid(前几位就行)
or
(2)
git revert -n commitid //不立即提交 --no-commit
(fix conflicts and run “git revert --continue”)
(use “git revert --abort” to cancel the revert operation)
场景----[管理员]需要暂时将提交的内容还原
如果需要撤销merge,需要增加-m选项git revert commitid -m 1或者2
git show commitid
Merge: commitid2 commitid1// commitid1和 commitid2 是两个父节点
需要注意的是 -m 选项接收的参数是一个数字,数字取值为 1(commitid2)和 2(commitid1),也就是 Merge 行里面列出来的第一个还是第二个。选定的分支的改变将会保留,另一个就是要revert的分支。
4amend 会更改commitid
场景----[本人]没有推送到远端但是发现提交备注有问题
git commit --amend -m "新的提交信息"
也可以改变提交的内容
参考文章:
https://worktile.com/kb/ask/246556.html
https://www.jianshu.com/p/036f2c818cb2
https://www.cnblogs.com/bescheiden/articles/10563651.html
//重命名文件
git mv -v oldfile newfile
//日志最近一条
git log -1