gpt4 book ai didi

git - 与使用 Github 的人共享一个 git repo 分支的好方法是什么?

转载 作者:行者123 更新时间:2023-12-05 01:21:39 25 4
gpt4 key购买 nike

我们使用 ma​​ster 进行开发。我们将稳定主题分支 merge 到 master 中。对于我们的客户,我们从 master 分支。我们需要让一些外部协作者(通常是前端开发人员)在客户的分支上进行协作。但是他们不得有任何访问权限(读取或写入)到其他分支或 master(理想情况下甚至不能访问客户分支分支之前的项目历史)。

我的想法是我们可以创建一个新的 repo 协议(protocol),其中“修订版 0”将是一个,客户的分支在此处发生分歧,并使用 pull 请求将更改 pull 到规范的 repo 协议(protocol)中。有什么办法吗?我的意思是从其他 repo 协议(protocol)的一些具体修改开始创建空 repo 协议(protocol)。

我认为这应该是可能的 - 因为内容将是相同的 - 散列也是如此。但是简单地复制和粘贴修订版是行不通的,或者容易出错,因为新创建的请求需要与规范 repo 中的请求完全相同才能具有相同的哈希值。

请注意,我们使用 Github 作为我们的 git 托管,我们无意创建自己的 git 托管。

最佳答案

如果你想对彼此和你的主人 stash 客户端,你将需要每个客户端一个私有(private)存储库。您将拥有一个内部存储库,其中包含您自己的开发,以及每个客户的孤立分支。当你想创建一个新的客户端分支时,你会做

git checkout --orphan client_xx
git commit

然后您将拥有一个孤立的分支,其中包含当时您的 master 分支的确切内容。要创建客户端存储库,您需要对临时分支做一些小技巧

mkdir -p /path/to/client_xx
cd /path/to/client_xx
git init
git fetch /path/to/internal client_xx:tmp
git checkout tmp
git branch master
git checkout master
git branch -d tmp

现在,客户端存储库的主分支将包含与内部存储库的客户端分支完全相同的 sha1。您可以让客户端派生客户端存储库并向您发出 pull 请求。您可以通过 pull 到客户端分支将客户端存储库集成到您的内部存储库中。由于客户端分支是孤立的,因此您无法将客户端分支正确地 merge 到 master 分支中(反之亦然),但您可以使用 cherry-pick 进行集成。

关于git - 与使用 Github 的人共享一个 git repo 分支的好方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14295751/

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