如何扩展 git 以查看其他人正在使用 git 或 github 编辑的文件?



我正在开发一个操作系统项目,其中包含位于 github 上的不可合并的源文件。

通常,我们希望避免合并文件,并阻止同一源的并行开发。到目前为止,该团队一直处于同一地点,协调并不难。

然而,我担心的是,随着项目贡献者数量的增加,我们可能会遇到协调问题。

很高兴知道一些不同的事情:

当我从师父那里拉出来时,有没有人在师父之前进行更改?

当我在师父之前提交时,是否有人在师父之前有变化?

我是 git 的新手,所以我不知道是否有这样的东西内置。

如果没有,也许我可以使用 git 钩子自动对提交等运行这些检查。

编辑:

从评论和回复来看,我最初关于我是否可以看到其他人正在做什么的问题的答案似乎是"不"。

所以,我把这个问题改写为如何扩展 git 来做我想做的事情。

此外:

是的,我的源代码真的是不可合并的(或者至少合并起来非常痛苦)。

是的,我知道我没有使用 Git 设计的工作流。但是,这是我正在使用的系统。它不能做我想要的一切,所以我想扩展它以使我的工作流程更轻松。

Git 在本地是完全独立的,因此无法知道人们在本地计算机上使用您的存储库做了什么。所以不,没有什么内置的东西可以回答你的问题。你可以告诉人们每天将所有工作推送到他们的分叉或"个人分支",但这可能会破坏提交的原子性,并导致许多无用的提交消息。

话虽如此,git(或者更确切地说是分支的版本控制)的美妙之处在于,您不必太在意谁领先或落后于master。由于您似乎不喜欢合并(我真的希望您对实际上只是快进的"合并"感到满意,否则您无法创建其他分支),因此变基是您的朋友。设置规则让每个人都从 master 中重新设置开发分支的基址将使提交历史记录保持一条直线。

也许你可以看看 git lfs,它有一个命令(在 v2 中)来锁定一些不可合并的文件(当然还有一个查看锁定文件的命令):

https://github.com/git-lfs/git-lfs/blob/master/docs/man/git-lfs-lock.1.ronn

最新更新