Git 存储库源代码控制流程

Goo*_*ber 1 git

我对Git的理解如下:

1) 工作树 ---> 手动进行更改的文件系统。
2) 暂存区 ---> 在提交之前更改所在的位置。
3) 存储库 ---> 提交的更改在哪里(本地或远程)。

基本上我真正想要的是:

1) 工作树 - 我桌面上的本地文件目录。
2) 暂存区 - 位于某处的联网服务器上。
3) Repository - GitHub 来跟踪我的源代码。

我不确定我是否在阅读有关 Git 的所有这些内容时感到困惑,以及我刚刚描述的情况是否真的可行?

本质上,我希望我团队中的所有开发人员都拥有源代码的本地工作树副本,然后能够将更改暂存到我们网络上的服务器,然后从这里执行对 GitHub 的最终提交。

这样对吗?或者暂存区是否必须在每台本地机器上?

亲切的问候

Mik*_*zur 7

我认为值得在这里稍微检查一下 git 中使用的术语:

  • git 工作树:您当前正在处理的文件
  • git 暂存区:您在下一次提交中表示想要的文件
  • git 存储库:您机器上的一个.git目录,其中包含工作文件以及一个包含完整版本和分支历史记录等的目录。

当将另一个存储库克隆到他们的机器时,每个开发人员都有一个完整的 git 存储库。事实上,每个 git 存储库都包含所有这些元素(除了我们不需要在这里介绍的裸存储库)。

您想要的更多是管理团队工作流程的流程政策。你可以像这样设置它:

  1. 每个开发人员在他们的机器上都有他们工作的 git 存储库
    • 开发人员提交
    • 让它成为您在上面定义的工作树
  2. 一旦开发人员完成工作,他们就会git push提交到某个网络服务器上的 git 存储库
    • 这是您进行测试等的地方
    • 这是您团队的临时服务器
  3. 当新提交通过所有测试时,您将git push它们带到他们在 github 上的最终存储库
    • 这是您团队的主要权威存储库

请注意,每个项目符号都是一个git 存储库,可用于您需要的任何目的并将其定义为。

开发人员在他们的工作站上进行提交。在那之后,git 所做的就是在 repos 之间打乱这些提交,无论它们在哪里以及它们可能提供什么功能。

希望能把事情弄清楚一点。