gpt4 book ai didi

git - 如何防止多个用户使用git编辑相同的文件

转载 作者:行者123 更新时间:2023-12-02 02:11:04 24 4
gpt4 key购买 nike

我目前正在与一位博士后合作为一个 session 写一篇论文。我们调查了使用版本控制软件,git 似乎是一个很好的选择。现在我们必须真正体验它并面临一些问题。具体来说,我们有时会在推送之前编辑相同的文件,从而导致想要第二次推送的人出错。

可以使用哪些提示/工具/等来防止这种同时编辑?我知道 git 用于有许多不面临这些问题的协作者的大型项目,那么我们做错了什么?

有什么想法吗?

最佳答案

Git 没有任何像 TFS 那样“锁定”文件的机制。如果两个人都在积极编辑文件的同一部分,您应该会发生冲突。

主要内容:

与您的同事讨论您在做什么。如果可以,请协调,如果必须,请警告他们。这看起来有点像行人,但它通常比它应该发生的晚。 Scrum很好,因为它使它成为您日常工作的一部分。

最重要的因素是您将更改保密多久。未完成更改的时间越长,重叠更改集的机会就越大。

在您共同开发的功能上创建集成分支是一件好事。如果您经常创建检查点、推送和 rebase ,那么您就不太可能做出难以纠正的大更改。不过,小冲突很容易处理。在推送到 master 之前,您可能需要返回并清理一些提交,但这通常很容易协调。

小事:

查看差异是了解一段代码如何更改的绝佳工具。人们在不同格式偏好之间切换会破坏此工具。

采用一致的格式有助于解决这些无关紧要的冲突。选择一致格式的过程是另一回事。 ;)

如果您在处理一个函数时发现空格不正确,您将修复它。处理相同功能的其他人也会这样做。

例如,左缩进:

namespace foo {
namespace bar {

class Foo {
public:
void something();
};

class Foo {
public:
void something();
};

}}

namespace foo {
namespace bar {
}
}

我个人更喜欢将所有 namespace 像第一组一样左对齐。这使空白噪声保持在最低限度。不过,一致性很重要。

制表符与空格是另一回事。从理论上讲,您选择哪一个并不重要,但确实选择了一个。

避免移动代码(显然没有充分的理由)。这很难做到,但如果您有更多文件且每个文件中的内容更少,那么问题就不大了。

将小的“管理”更改与您的功能/错误修复提交分开。这使得 merge 这些提交的更改变得非常简单。如果一个是功能更改,一个是空格更改,那么您可以盲目接受功能更改。

关于git - 如何防止多个用户使用git编辑相同的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12848821/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com