gpt4 book ai didi

git - 基本的git理解问题

转载 作者:太空狗 更新时间:2023-10-29 13:23:45 24 4
gpt4 key购买 nike

情况

我以前从未使用过 git 或任何其他版本控制。现在我有一个网络项目需要有一个稳定版本和一个开发版本,两者都在不同目录中的同一台服务器上运行。

  • 稳定:/var/www/afod/afod
  • 开发:/var/www/afod_dev/afod

现在我想使用 git 将更改从开发版本同步到稳定版本,因为我以前从未使用过 VC 系统,所以我似乎不知道如何执行此操作。

到目前为止我做了什么

我在 /var/www/afod/afod 中创建了一个 git 存储库,并通过以下方式将其克隆到 dev 目录中:

cd /var/www/afod_dev/afod
git clone /var/www/afod/afod

现在我有 2 个存储库,我想在稳定版本端使用 git pull 保持同步。

问题

我已经有 2 个分支,web 和 dev。但似乎 git pull 从两个分支同步了稳定版本。但我只想将更改同步到稳定版本,我已经 merge 到开发版本中的网络分支。

完全困惑

我希望我能以某种方式指出我的问题。我似乎对 git 的工作原理有一个基本的理解问题,但它似乎是做我想做的事情的正确软件。我基本上想要一个分支自动同步到稳定版本和我 merge 到它的其他分支。但是开发版必须在与稳定版不同的目录中。

关于Billy Moon的第一个回答

好吧,stable 和 dev 托管在不同域的不同 apache vserver 中。在人们浏览站点时看到的目录中的开发分支上工作没有任何意义。

所以我的想法是克隆存储库然后同步它们。

我这里有什么问题吗?您如何处理此类配置?

最佳答案

分支机构

我认为您走在正确的轨道上,但对分支的想法有点困惑。您可以将分支可视化为树上的两个分支。两者有相同的主干,source,但 tips 不同。 相同代码库之间的差异可以是次要的也可以是主要的。当您运行命令 git checkout <branch_name>你告诉 git 你想要激活树的不同提示,复制到工作目录

在你的情况下,一个分支有开发代码,另一个有你的稳定代码。从 dev 获取代码分支到web分支,你使用git merge <branch_to_pull_in>这结合了这两个分支的提示,因此它们的内容是相同的。有关一般分支机构的更多信息,Here是一个通用的非 git 页面。

可能的解决方案

以下是适合您的解决方案。还有其他可能的工作流程,但这是最简单的工作流程之一。

将您的开发存储库克隆到 /var/www/afod/afod .比从内/var/www/afod/afod运行 git checkout web在你的开发文件夹中,确保你在 dev 上分支。 git branch应该有这样一行 * dev .

您现在已将同一存储库的两个不同分支 check out 到不同的子文件夹中。像你一样在开发中做你的工作。一旦你觉得它稳定了,从你的 dev 文件夹运行 git checkout web .比git merge dev .这会将这些更改 merge 到您的 web 中分支。现在从内部 /var/www/afod/afod运行 git pull .这会将您的变更 pull 入生产服务器。两者 dev并且 web 将被 pull 过来,但只有 checked out 才会在您的工作目录中。

当你想再次在 dev 分支工作时,运行 git checkout dev从 dev 文件夹中。

关于git - 基本的git理解问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7569011/

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