git的回顾操作-git rm --cached & git的合并冲突问题-git merge 和git fetch
1、关于git的回顾操作
-
git add的逆操作
- git rm --cached 文件列表
- 把文件从暂存区再放回到工作目录中
- git rm --cached 文件列表
-
提交之后的代码又做了修改,想放弃最新的修改的代码
- git checkout 文件列表
- 需要慎重考虑,因为一旦放弃就找不回了
- git checkout 文件列表
-
回滚最后一次提交(把最后一次提交删除)
- git commit 的逆操作
- git reset --hard 倒数第二个commitID
- 用倒数第二个版本的代码覆盖工作目录和暂存区
- 并且删除最后一个快照
- git reset --soft 倒数第二个commitID
- 不会覆盖工作目录和暂存区
- 并且删除最后一个快照
- git reset --mixed (默认值) 倒数第二个commitID
- 用倒数第二个版本的代码覆盖暂存区
- 并且删除最后一个快照
–hard | –mixed(默认值) | –soft |
删除快照 | 删除快照 | 删除快照 |
覆盖暂存区 | 覆盖暂存区 | |
覆盖工作目录 |
2、关于git的冲突问题
-
冲突的原因:不同的程序员修改了相同文件的相同代码,需要进行代码合并
- git merge
- git pull
- git fetch
- git merge
-
如果多个研发人员共享同一个远程仓库并且都有读写权限,那么冲突的概率比较大
- 有时推送代码无法成功,可能原因在你推送代码之前,另外一个同事已经推送过了代码
- 你必须先git pull
- 在你拉取代码时,有可能会冲突
- 然后在推送