开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第6天,点击查看活动详情
仓库信息
git log: Git - 查看提交历史
git remote -v: 查看远程仓库的信息
git remote add pb https://github.com/paulboone/ticgit:加入简写
git remote rename pb paul:将简写重命名
git remote remove pb:移除简写
git reset --hard HEAD~2:回退两个版本
其他
git checkout -b totallyNotMain o/main: 就可以创建一个名为 totallyNotMain 的分支,它跟踪远程分支 o/main。
git branch -u o/main foo: 这样 foo 就会跟踪 o/main 了。如果当前就在 foo 分支上, 还可以省略 foo:git branch -u o/main
git mv file_from file_to: 对文件改名
回滚完强制覆写远端仓库记录:git push origin local_branch --force
远程仓库回退方法 (参考: 远程仓库版本回退方法--Git(二))
本地分支版本回退的方法
如果你在本地做了错误提交,那么回退版本的方法很简单 先用下面命令找到要回退的版本的commit id:
git reflog
接着回退版本:
git reset --hard Obfafd
0bfafd就是你要回退的版本的commit id的前面几位
自己的远程分支版本回退的方法
如果你的错误提交已经推送到自己的远程分支了,那么就需要回滚远程分支了。 首先要回退本地分支:
git reflog
git reset --hard Obfafd
紧接着强制推送到远程分支:
git push -f
注意:本地分支回滚后,版本将落后远程分支,必须使用强制推送覆盖远程分支,否则无法推送到远程分支
公共远程分支版本回退的方法
使用git reset回退公共远程分支的版本后,需要其他所有人手动用远程master分支覆盖本地master分支,显然,这不是优雅的回退方法,下面我们使用另个一个命令来回退版本:
git revert HEAD //撤销最近一次提交
git revert HEAD~1 //撤销上上次的提交,注意:数字从0开始
git revert 0ffaacc //撤销0ffaacc这次提交
git revert 命令意思是撤销某次提交。它会产生一个新的提交,虽然代码回退了,但是版本依然是向前的,所以,当你用revert回退之后,所有人pull之后,他们的代码也自动的回退了。
Reference: