Git和备份本地提交

达兹

我一直在寻找其他人在这种情况下会做什么,但是我在寻找明确的答案时遇到了麻烦。

我们当前的工作流程如下(顺便说一句,我们将Azure DevOps用于我们的GIT存储库):

  1. 我们有一个远程“开发”分支
  2. 一个开发人员从远程/开发(例如,远程/ FeatureA)创建一个新分支。
  3. 创建FeatureA的本地副本
  4. 工作在本地完成并提交给local / FeatureA分支
    • 附带说明一下,如果更改合并到远程/开发中,则...
      • 我们将这些变化纳入本地/发展
      • 在local / FeatureA上执行基于rebase的基础
  5. 本地/功能A完成后,将其推送到远程/功能A
  6. 提出拉取请求以将远程/功能A合并到远程/开发中

但是,无论如何都不会备份任何本地完成的提交(例如local / FeatureA),并且如果工作站由于任何原因死掉,都有可能丢失这些更改。我以为可能将这些提交推送到远程分支(remote / FeatureA),以便始终将它们提交到云中备份(类似于此发布者的要求... Git工作流以及对基准进行归并与合并问题)。但是,如果其他开发人员对远程/开发进行任何更改,则这样做似乎会给重新定级带来痛苦。

有人对此有好的解决方案吗?也就是说,如何在准备将功能合并到remote / Development分支之前继续进行功能更改时备份我的代码更改/提交?我以为我可以看一下硬件解决方案……例如,将便携式硬盘驱动器连接到我的工作站并进行计划备份……但是我认为可能会有一个更优雅的解决方案。

罗曼·瓦莱里

您确实可以将功能分支备份到远程存储库,这是一个好习惯。

那么,如果remote/Development更改了该怎么办,而您必须重新建立功能分支的基础呢?

您对本地部分照常进行操作(先拉出新更改,Development然后在其重新建立功能),是的,此时,远程备份已被重新设置基准“过时”。但是,由于您不会破坏分支上的其他人的工作(或者,我从您的描述中猜到了吗?),因此您可以push --force将重新定位的本地要素分支作为结果。

我认为您稍微误解了有关

“但是,如果其他开发人员对远程/开发进行任何更改,则这样做似乎会给重新定级带来痛苦。”

...这对于像您Development这里这样的共享稳定分支来说是正确的,但对于非共享(当然,直到最终它们最终通过PR合并)功能分支都是不正确的。


(有趣的是,我们目前所在的团队碰巧有一个非常相似的工作流程。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章