撤销操作
-
git add 错误
git add 如果添加错了文件的话需要撤销的话
git reset HEAD 会直接撤销上一次操作所有的add
git reset HEAD filename 可以撤销一个文件的add
git reset HEAD --hard 会回到上一次的commit的状态
-
git commit 错误
如果已经commit了,这个时候文件已经在本地仓库
先使用git log 查看节点
commit xxxxxxxxxxxxxxxxxxxxxxxxxx
然后
git reset commit_id
还没有 push 也就是 repo upload 的时候
git reset commit_id 回退到上一个 提交的节点 代码还是原来你修改的
git reset –hard commit_id 相当于把代码从远程仓库拉下来,这时候会回到上一个commit节点, 代码也会变成上一个版本的
也可以使用git reset HEAD^ --hard 这样会回到上上一次的commit,本次的commit会被丢掉
-
如果要是 提交了以后,可以使用 git revert
git revert是提交一个新的版本,将需要revert的版本的内容再反向修改回去,版本会递增,不影响之前提交的内容。
还原已经提交的修改
此次操作之前和之后的commit和history都会保留,并且把这次撤销作为一次最新的提交
git revert HEAD 撤销前一次 commit
git revert HEAD^ 撤销前前一次 commit
git revert commit-id 撤销指定的版本,撤销也会作为一次提交进行保存
git pull && git fetch
git pull将下载提交到当前分支。
git pull实际上是 fetch 和 merge 命令的组合。
git fetch将从远程获取最新的引用。
git fetch --all 可以获得远程所有分支的变动