84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
是这样的,我们好几个人都拉取了同一个远程仓库到本地进行开发,然后我强制删除一个敏感文件及其相关的任何信息(比如提交历史记录等),然后使用git push origin master --force强制同步到远程仓库,到这一步远程仓库也没问题了,也干净了。
但是当其它人修改文件推送到远程仓库时又把我删除的那个文件推上去了,怎么才能让别人的本地仓库也干净,或者说如何让别人的本地仓库变为跟远程仓库一致?
认证0级讲师
没有明显的解决办法吧
毕竟大家在原有的基础上做了很多工作,所以强制更新他们的本地库是不显示的。只能是你强制更新后,告诉其他所有人,让他们fetch之后rebase到最新的提交,肯定有冲突需要解决,不要再把删除的信息添加回去就好了。
fetch
rebase
你让其他的同事在往服务器推送代码的时候,先把远程仓库的代码拉下来和本地合并一下.也就是先要切换到master分支上,
git pull origin master
然后,切换到自己的分支
git rebase master
最后,在推送
git push origin master
按理说是不会出现这种情况的啊,因为你把远端也修改了,所以你同事上的版本已经落后了,他们要先把远端的最新代码拉取下来才能再推送的,难道他们也像你一样,是强推的吗
没有明显的解决办法吧
毕竟大家在原有的基础上做了很多工作,所以强制更新他们的本地库是不显示的。
只能是你强制更新后,告诉其他所有人,让他们
fetch
之后rebase
到最新的提交,肯定有冲突需要解决,不要再把删除的信息添加回去就好了。你让其他的同事在往服务器推送代码的时候,先把远程仓库的代码拉下来和本地合并一下.也就是先要切换到master分支上,
然后,切换到自己的分支
最后,在推送
按理说是不会出现这种情况的啊,因为你把远端也修改了,所以你同事上的版本已经落后了,他们要先把远端的最新代码拉取下来才能再推送的,难道他们也像你一样,是强推的吗