1

我对 Git 还很陌生,希望有人能帮助我。我们正在与外部供应商合作,代码在 github 上,它有几个分支(比如 branch1 和 branch2)。我们计划只使用一个裸仓库就拥有一个本地 Windows git 服务器,开发人员现在可以通过文件共享来访问它,他们将在其中克隆、推送、拉取。本地服务器背后的原因是由于大小。

使用它来实施的最佳方法是什么?例如: 1. 在我们的服务器上创建一个裸仓库 - git init --bare 2. 添加一个远程到 github 名称 github 3. 获取远程仓库(来自 github) 4. 用户克隆我们的本地仓库... 5. push/拉到我们本地... 6. 你现在如何将我们的代码合并到 github 上的一个分支中?

更新:对不起,我忘了提到的另一件事是,我们只被授予对 github 的拉取访问权限,由于第三方,我们无法更改。我们只有在一切都完成后才能获得推送访问权限

谢谢

4

2 回答 2

1

您可以设置一个脚本以将更改出现在存储库中时推送到 Github,或者您可以让某人决定何时需要,并手动将更改从他们自己的 repo 克隆推送到 Github。请记住,在分布式环境中,没有任何特定的存储库有任何与其他存储库不同的技术原因:这都是约定俗成的。

但是,您应该注意一件事:使用文件共享,服务器上的 repo 中的所有更改都将由执行推送的用户直接进行。即使通过 LAN,这也可能比通过 Internet 与智能服务器通信要慢。过去,我在通过 SMB 推送到远程 Git 存储库时也遇到了困难。如果可能,请设置服务器,而不仅仅是使用文件共享。如果这不可行,请好好测试并验证您是否确实获得了更好的性能。

如评论中所述,没有理由为人们设置同步镜像来进行初始获取:请记住,所有存储库都将具有相同的数据。不是每次都下载整个历史记录,没有什么能阻止新人从他们旁边的同事那里获取所有历史记录,然后拉动并推送到 Github。

于 2012-07-24T08:25:41.243 回答
0

每当大小成为问题时,请不要忘记 Git 不是集中式 VCS,您可以将所有内容放入其中。

您应该将大量文件分解为多个 Git 存储库,允许开发人员仅在其中一些存储库上克隆/工作。

应该避免使用 Git 进行任何文件共享工作:它会降低性能......

于 2012-07-24T08:40:37.713 回答