我使用多台机器进行开发,所以想要一种“自我协作”的方式。因此,远程存储库上的个人分支是有意义的。显然,对于这个分支,我会推/拉很多(即每次我在特定机器上开始/完成编码会话时)。我也喜欢在本地 rebase 以压缩/整理我的一些提交。我了解您不应该对已推送到远程存储库的提交进行变基。但是,如果它们仅存在于我的私有分支中(没有其他人触及此分支),那么我对服务器上也存在的提交进行 rebase 是否有任何问题?
问问题
621 次
2 回答
4
好吧,git对此并没有真正的问题。事实上,git 自己的开发过程涉及公共服务器上的一个分支,该分支经常被重新定位(比如每天左右)。只要使用分支的每个人都知道它经常被重新设置基准,就可以了。
但是,您需要记住,您将拥有旧版本和新版本的补丁,但没有明确说明哪个会取代哪个。你可以很容易地解决这个问题,方法是在你重新设置分支时强行推回分支,从而完全放弃旧版本。
于 2011-05-30T13:27:00.190 回答
1
如果您有一个定期推送到远程仓库的本地分支,但没有人会直接使用(即不会从您的克隆分支签出或合并),那么可以尽可能多地重新设置您的本地分支想要/需要。
但这需要一个好的命名约定来识别这样的“私人分支机构”。
这还假设您有权执行强制推送(push -f),以便用本地(私有)分支的重写历史记录覆盖您自己的(远程私有分支的)历史记录。
最后一点并不明显,因为共享仓库经常禁用这种推送以避免“意外”(除非你有某种 ACL 管理,比如Gitolite)
于 2011-05-30T13:28:04.197 回答