用smart git.在未提交前pull会提示你stage
覆盖了就版本回退
git reflog 命令查看你的历史更改记录

git reset --hard HEAD@{n}
(HEAD@{n} 或版本号,就前面那一串数字)
Git:避免更新代码导致被还原或覆盖的解决方案
结论先行:
- 1、明确分工,相同文件,尽可能只由一个人操作 (根本上解决问题)
- 2、保存储藏->拉取代码->弹出储藏->解决冲突 (推荐,版本记录好看且方便)
- 3、拉取代码,合并时的必填消息不填或为空!最后检查每一个被修改的文件,确保没有问题后再重新提交
白菜实验:
人物:小白与小菜
前提:协同开发,关联同一个远程仓库
假设:
小白修改 a.txt 文件后提交并推送到远程仓库
小菜也修改了 a.txt 文件
小菜使用 git pull 拉去代码失败,提示可以使用 commit 或 stash 去解决问题
解决办法:
- 采用 stash 方法 (推荐)
保存储藏(git stash save) -> 拉取代码(git pull) -> 弹出代码(git pop) -> 解决冲突(如果有) -> 添加代码(git add . ) -> 提交代码(git commit -m’msg’) -> 推送远程(git push)
- 采用 commit 方法
先提交改变的代码到本地仓库:添加代码(git add . ) -> 提交代码(git commit -m’msg’)
执行 (git pull) 或者(git fetch + git merge)代码后将会触发2种情况
有冲突,合并失败:解决冲突问题并核对修改的文件,确定无误在重新添加并推送远程
提示填写消息:不填写或者取消,去检查修改的代码,确定无误在重新添加并推送远程