Git 吉特:我们怎么会丢失代码?

Git 吉特:我们怎么会丢失代码?,git,merge,branch,gitlab,Git,Merge,Branch,Gitlab,我们有一个小团队,使用经过修改的GitFlow工作流。一个开发人员只是提交并直接推动开发;其他人根据需要创建主题/功能分支。我们已经注意到一两次,当我们合并并提交一个分支时,从另一个分支开发的一些更改就消失了。我们非常确定,在进行合并和合并提交(本地)开发之前,每次都是从源代码/开发中提取 是我们而不是Git的可能性接近统一。但我们哪里出了问题 下面是SourceTree的屏幕截图。当Sarah将顶部的分支合并到develop and Push中时,Joe的一些更改(例如2017年4月19日11

我们有一个小团队,使用经过修改的GitFlow工作流。一个开发人员只是提交并直接推动开发;其他人根据需要创建主题/功能分支。我们已经注意到一两次,当我们合并并提交一个分支时,从另一个分支开发的一些更改就消失了。我们非常确定,在进行合并和合并提交(本地)开发之前,每次都是从源代码/开发中提取

是我们而不是Git的可能性接近统一。但我们哪里出了问题

下面是SourceTree的屏幕截图。当Sarah将顶部的分支合并到develop and Push中时,Joe的一些更改(例如2017年4月19日11:56的更改)消失了,尽管她没有处理这些文件(通过日志确认)

我知道我们可能在做傻事。但就我的生命而言,我不知道是什么


“一个开发人员只是提交并直接推动开发”——这听起来不像一个伟大的工作流程。Sarah推动时,是强制推动吗?我的意思是,一个不包括已经消失的修订的强制推进?因为如果是强制推送,这就解释了更改“消失”的原因。一般来说,只要我们忽略损坏的存储库并故意删除/反转,有两个原因会导致任何人在Git中丢失更改/代码,可能出现合并冲突,有人错误地解决了冲突,忽略了一些更改,或者有人强行推动。你们和相关的开发人员验证过这两种可能性吗?好吧,继续笑吧,但除了注意到它在SourceTree中作为复选框出现之外,我不知道强制推是什么。非常确定团队中没有人是那么出色的绝地武士(这是个笑话,啊,说个笑话吧,孩子!)。我用Sarah的ST拷贝从她的机器上推了一下,我知道我这样做的时候“强制推”框没有被选中;她也反对她没有那样做。不过,这是一个很好的假设!(我也会和Joe核实一下,虽然他的代码没有被覆盖,但是被覆盖了。)进一步:Sarah检查了,并且在她的ST配置中“启用强制推送”没有被检查;如果她尝试,就不能进行强制推送,因为“推送”对话框中的选项变灰了???“一个开发人员只是提交并直接推动开发”——这听起来不像是一个很好的工作流。Sarah推动时,是强制推动吗?我的意思是,一个不包括已经消失的修订的强制推进?因为如果是强制推送,这就解释了更改“消失”的原因。一般来说,只要我们忽略损坏的存储库并故意删除/反转,有两个原因会导致任何人在Git中丢失更改/代码,可能出现合并冲突,有人错误地解决了冲突,忽略了一些更改,或者有人强行推动。你们和相关的开发人员验证过这两种可能性吗?好吧,继续笑吧,但除了注意到它在SourceTree中作为复选框出现之外,我不知道强制推是什么。非常确定团队中没有人是那么出色的绝地武士(这是个笑话,啊,说个笑话吧,孩子!)。我用Sarah的ST拷贝从她的机器上推了一下,我知道我这样做的时候“强制推”框没有被选中;她也反对她没有那样做。不过,这是一个很好的假设!(我也会和Joe核实一下,虽然他的代码没有被覆盖,但是被覆盖了。)进一步:Sarah检查了,并且在她的ST配置中“启用强制推送”没有被检查;如果她尝试,就不能进行强制推送,因为“推送”对话框中的选项变灰了???