关于使用 Git 的几个问题

Few questions about working with Git

我是一名网络开发人员。 我目前的工作如下: 通过 FTP 连接到服务器上的站点目录 => 下载项目(项目的一部分)=> 开发新模块 => 将完整的模块(几个文件)上传到服务器。我的同事正在开发这个站点上的其他模块并使用相同的算法。

我知道这很糟糕,而且是老方法。 我想使用版本控制系统 (Git) 组织开发过程。

我听说它是​​这样的: 我们在应用开发过程中,主要有masterdev两个分支。 我和我的同事克隆了主分支 dev,创建临时新功能或补丁的本地分支,开发,提交,然后将临时本地分支与主远程分支合并开发。 1) 我说得对吗?

2) 我知道分支 devmaster 处理来自一个存储库的文件 - 一个目录。

我站点的文档根目录和我站点子域的文档根目录 - 这是不同的目录

我希望我的主域站点具有该站点的当前稳定版本,但我站点的子域指的是该站点的开发版本。它是如何组织的?怎么做?

3) 如果我没记错的话,中央存储库通常存储在 github.com 如何link主仓库和目录站点?手动将文件从存储库上传到主机? 是否将站点目录保留在 git hub 上?在本地网络中使用存储库可能会更好?

谢谢大家

很多好问题!一一解答。

是的,您的一般理解是正确的 - 这是一种使用方式 Git。有关此类工作流的更详细说明,请查看 Git-Flow: here and here。这些分支通常称为 masterdevelop。除此之外,您将使用 featurerelease 分支。

关于您在不同目录中的稳定 (master) 和不稳定 (develop) 分支,您可以执行以下操作:克隆存储库两次,即在服务器上的每个目录中一次。在 stable 目录中,您签出 master 分支,在 unstable 目录中,您签出 develop 分支。这样,您可以将两者分开并根据需要更新它们。您还可以查看 tools/scripts 每当分支更改时自动 update/pull。

对于托管,有几种选择,我将列出最多的 common/popular 个:

  • GitHub:默认情况下(使用免费帐户),GitHub 上的所有回购都是 public。这对于开源非常有用,但可能不是您想要的。付费帐户包括私人回购。
  • BitBucket: 这里的免费账户也包括私人回购,这可能更适合你。可能还有其他服务也提供此功能。
  • 托管您自己的:您可以使用付费工具,例如 GitHub Enterprise 或 Atlassian Stash,或者 free/open 源工具,例如 GitLab,您可以使用它们来托管您的自己的回购。如果您打算在此领域做更多事情,这可能是最好的选择,但设置和维护起来也更复杂。托管自己的优势在于您可以通过 post-hook 轻松部署到您的服务器。

我会从 BitBucket 之类的东西开始,然后考虑下一步。