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种情况
- 有冲突,合并失败:解决冲突问题并核对修改的文件,确定无误在重新添加并推送远程
- 提示填写消息:不填写或者取消,去检查修改的代码,确定无误在重新添加并推送远程
题外内容:
1、少修改的地方(生产环境、公网测试环境):推荐 git pull
2、进场修改的地方(本地开发环境):推荐 git stash
知识发现:
1、触发冲突的必要条件是修改同一个文件且修改的位置非常近,否则Git会自动合并其内容
渴望力量:
1、不足之处,望各位小伙伴可以多多指出
2、疑问之处,可以私聊,很开心能一起探讨