1.如果我在git add 后想要撤销操作,该怎么做?
使用 git rm --cache 【文件名/ *】
或者 git reset HEAD, 为什么这个命令也会有效果呢,实际上reset将 HEAD指针指向的提交复制到了暂存区,所以看起来暂存区像是没有东西。
这里可以扩展一下:
Git 分为三颗“树”:
当我们在工作区修改了时,git add 命令会将文件复制到暂存区,git commit 之后会将index中的内容保存为一个永久的快照。然后创建一个指向该快照的提交对象,最后更新master分支指向它。
2.如果我想要将版本回退到某一次提交该怎么做?
使用 git reset 或者 git revert
Git reset 将HEAD指向了指定版本,如果不使用 --hard工作区还是会保留,一旦使用了--hard 将不能撤回了,reset命令实际分为了三步:
git revert 相当于用新的一次提交来回滚。
3.如果我在git commit 之后想要修改commit信息重新提交,该怎么做?
使用 git commit --amend
4.如果我在一个分支修改了部分代码但未提交,此时我想切换到另一个分支,并且修改的代码不会丢失,该怎么做?
使用 git stash 将修改的代码储存起来,此时可以随意切换分支了,想用这些代码的时候可以用 git stash apply ,
git stash list 查看储存的,git stash drop [名称 ] 移除储存的,也可以直接用git stash pop来应用储藏然后立即从栈上移除它。
原文地址:https://www.cnblogs.com/tangxiao1996/p/12427497.html
时间: 2024-11-05 20:28:56