当每个人都在学习大师时,如何使git痛苦最小化?
我们大约十个人的文档团队最近从SVN迁移到Git。在SVN中,每个人都在研究master。这是我一直讨厌的模型,但我无法带来这种改变。作为迁移到Git的一部分,我们已经同意解决此问题,但我们还不能做到这一点(等待构建更改,以允许从任意分支进行构建)。同时,每个人都在研究大师。是的,我知道这很可怕,相信我。 与使用SVN相比,我们现在看到的麻烦更多,其中一些是由Git的两阶段模型(本地和远程)引起的。有时人们会做出承诺但无法推动,或者他们会与即将发生的本地更改产生冲突。昨天有人以某种方式破坏了最近的更改,但合并失败了,我认为这是Git在您进行合并并进行出色更改时所做的合并。(他无法确切地告诉我他做了什么,并且因为他使用的是GUI,所以我不能只检查他的shell历史记录。) 作为最熟练的Git用户(请阅读:我以前使用过,尽管没有做过任何复杂的事情),我是制定策略,教授工具和清理混乱的人。在我们可以切换到分支上进行开发之前,我如何对使用工具的方式进行更改,以使共享的活动主数据库不易出错? 该小组正在Windows上使用Tortoise Git。我们使用Tortoise Git是因为我们之前使用过Tortoise SVN。(我个人使用Cygwin下的命令行进行某些操作,但是团队已经明确表明他们需要GUI,我们将使用此GUI。)答案应该与此工具一起使用,而不是建议替代工具。 Tortoise Git可以通过一次操作“提交并推送”,我已经告诉他们一定要这样做。但是,它不是原子的-可能会发生提交(毕竟是本地的)的工作,但推送没有(例如,由于冲突或网络问题)。当发生这种情况时,他们会得到一个模棱两可的错误。我已经告诉他们检查BitBucket提交日志,如果他们对最近的提交有任何疑问,如果看不到,则进行推送。(如果那是问题,可以解决冲突,或者如果他们不知道该怎么办,请寻求帮助。) 团队已经有“提早并经常拉”的好习惯。但是,拉力似乎会引起冲突,我认为这是新的吗?如果不是新的,则比SVN中的频率要高得多。我听说我可以更改Git的拉动方式(重新设置基数而不是合并),但是我对那里的权衡(或在我们的环境中如何做到)没有很好的了解。 服务器是BitBucket(不是Github)。我对我们的存储库拥有完全的管理控制权,但更一般而言,服务器上没有。这些都不是可变的。 源文件是XML。还有一些图形文件,每个人都知道您无法合并,但是我们几乎也从来没有冲突。合并冲突来自XML文件,而不是图形。 我可以对Git的使用进行哪些更改,以使共享主控团队更加顺畅,直到我们可以使用已审阅,经过测试验证的请求请求的功能分支为止?