gpt4 book ai didi

git - Git 的后续步骤 : Establishing a Cohesive Work Flow

转载 作者:太空狗 更新时间:2023-10-29 13:19:44 25 4
gpt4 key购买 nike

我是 git 和分布式版本控制的新手,但已经成功地init 我自己的本地源,在我自己的网络主机上通过 ssh 设置了一个私有(private)远程存储库(源),并执行从 master 到 origin 的基本 pullpush。 (我什至测试了一个克隆!)

我认为我可以控制单向 git 工作流程。然而,现在我开始考虑如何处理在开发、测试版和生产之间移动的事情。我发现的大多数教程都在谈论不同用户的 merge 、克隆、 pull 和推送,但就我而言,只有我一个人在处理来自不同来源的事情。

我希望有经验的 git 用户可以对我的工作流程提供一些见解,并就他们如何处理 merge 、分支等(我还不太熟悉/不太习惯的事情)提供一些建议。

以下是我将拥有的不同机器/位置:

  1. 远程主 git 存储:ssh://git@example.com/git/myproject.git
  2. 家庭网络服务器,主要开发箱(我坐在那里,私密地做大部分工作)
  3. 远程网络服务器,Beta 测试(面向公众):http://beta.example.com (在生产前测试我的开发工作)
  4. 远程网络服务器,生产站点:http://example.com (希望真实的人使用该网站)
  5. (偶尔)带着笔记本电脑四处旅行(运行自己的本地网络服务器)。

你会如何处理?提前致谢。

最佳答案

我看不出在这里创建过于复杂的工作流程有什么意义,恕我直言,“中央”设置就可以了。

所以你有一个主 Remote ,它应该是你的中心点,它包含所有的开发, Remote 名称“origin”。你在你的开发箱上工作,做你的 promise ,不时地把你的东西推到“原点”。一旦你认为是时候发布了,你就标记你的东西(可能是 beta),将其推送到源,转到你的 beta 服务器并从那里提取该标记以进行公开测试。重复直到你有一个可以 pull 到你的生产机器上的版本...

关于您的 A/B 问题(可能是您的开发机器和笔记本电脑):当然可以做到,但不能简单地将您的更改从 A 或 B 推送到原点。假设您刚刚将机器 A 上的工作推送到“原点”,我们称该状态为“17”。现在你的工作更进一步,创建局部状态“18”到“20”。如果“origin”仍为“17”,您可以毫无问题地将更改 18-20 推送到 origin,因为每个步骤都是前一个状态的直接后代。这在 git 中称为“快进”。

但是,如果来自 B 的推送介于两者之间,则“直接后代”行被打破,来自 A 的推送将失败。不过,解决方案很简单:A 必须从原点 pull ,将 B 引入的所有更改 merge 到 A 中,然后它可以推送 ...

希望澄清事情..

关于git - Git 的后续步骤 : Establishing a Cohesive Work Flow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1655539/

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