我使用多台机器进行开发,因此需要一种“自我协作”的方式。因此,远程存储库上的个人分支是有意义的。显然,对于这个分支,我会推/拉很多(即每次我在特定机器上开始/完成编码会话)。我也想在本地重新定义以压缩/整理我的一些提交。我知道你不应该重新推送已被推送到远程存储库的提交。但是,如果我们在服务器上存在提交,如果它们只存在于我的私有分支中(没有其他人接触到这个分支),那么我是否有任何问题?
答案 0 :(得分:4)
嗯,git对此没有任何问题。事实上,git自己的开发过程涉及公共服务器上的一个分支,它经常被重新定位(比如每天左右)。只要每个使用分支的人都知道它经常被重新定位,那就没关系。
然而,您需要记住,您将拥有补丁的新版本和新版本,但没有明确指示哪些取代哪个。您可以轻松解决这个问题,方法是在重新绑定分支时强制推回分支,从而完全删除旧版本。
答案 1 :(得分:1)
如果您有一个本地分支,您定期推送到远程仓库,但没有人会直接使用(即不会签出或从您的克隆分支合并),那么可以将您的本地分支重新定义为多个你想要/需要的时间。
但是,假设有一个很好的命名惯例来识别这样的“私人分支”
而且假设您有权使用本地(私有)分支的重写历史来强制推送(push -f)以覆盖您自己的历史记录(远程私有分支)。
最后一点并不明显,因为共享仓库经常禁用这种推送以避免“意外”(除非你有某种类型的ACL管理,如Gitolite)