gpt4 book ai didi

git - 在远程服务器上工作的 DVCS

转载 作者:太空狗 更新时间:2023-10-29 14:34:46 26 4
gpt4 key购买 nike

我的工作场所正在考虑转向现代 (D)VCS,这是我正在 push 的事情。

我的老板有这个想法,目前的工作流程是有一个集中的存储库,每个人都可以在任务完成后提交/merge 他们的更改,在处理任务时,每个开发人员都可以有自己的分支来处理并 promise 。

问题是他不太喜欢这样的想法,即只有在将更改推送到共享存储库之前,人们的工作站上才会有代码。这是因为磁盘故障等。

他希望看到的是每个人在服务器上都有自己的分支,当您在本地工作站上提交时,该分支会自动更新。

是否有任何 DVCS 以易于设置的方式支持此功能?

请注意,尽管我个人认为让每个开发人员负 blame 份他们的代码是完全可以接受的,例如简单地将他们的更改推送到远程服务器上的私有(private)分支。这可以通过 cron 脚本手动或自动完成。

最佳答案

只是为了“我们也是”因素:这在 mercurial 中是可行的,就像在 bzr 和 git 中一样。只需使用提交 Hook ,在可用时推送到更集中的 repo 。像这样:

[hooks]
commit = hg push ssh://path/to/individual/developer/repo

我要注意的一件事是,通过 Hook 执行此操作可以使推送到中央存储库对个人开发人员具有吸引力,并且您会发现他们自己这样做。我为让人们 promise /push (每天/每小时)所做的事情:

  • 确保他们有一个他们可以推送的 repo ,对编译/测试通过没有期望 - 如果你愿意的话,一个检查点 repo
  • 使他们能够轻松地在中央服务器上建立他们选择的存储库的持续集成构建——如果他们只需单击三下就可以轻松地为他们的个人分支机构启动基于更改的构建,那么他们将在每次更改后 push 只是为了查看测试套件的运行
  • 不要因为他们有分支历史而感到羞耻——良好的 DVCS 使用涉及大量的 pull/merge/推循环。如果您让他们使用 rebase 或 collapse 将 30 个变更集和 15 个 merge 变成每个功能/错误的一个变更集,那么他们会被激励将事情保留在本地,直到他们准备好一次 pull/merge/推送整个事情
  • 在公共(public)场所运行一些非判断性指标。没有什么比按代码行对开发人员进行排名更严厉和愚蠢的了,但是可以注意到一些东西,无论它是来自所有 repo RSS feed 的聚合 RSS feed,还是一个快速获得“X 将变更集 Y 推送到 repo Z 的 commits@ 电子邮件别名"每当有人按下时的消息。这很好,因为人们总是喜欢在他们的加类时间里享受一点阳光,而在 session 结束时“push ”一下就可以做到这一点。

关于git - 在远程服务器上工作的 DVCS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3957843/

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