我目前有一个项目,其中有几名工人,但客户不应该知道工作人员的姓名 - 是的,我知道。我们有2个git存储库。我们的客户之一,也是每个人都在努力的客户。
所以我目前的工作流程是为每个仓库分别设置文件夹。每当我们的质量检查说"好的,新版本可以发送。"我从"工作回购"复制源文件夹。到了客户回购"做一个提交,推送和完成。到现在为止还挺好。但绝对有很大的改进空间。
我想知道是否可以让master分支通过在合并之后(或者在推送之前)使用钩子来混淆作者名称来自动更改历史记录,这样我就可以在主人内部只需git merge release
然后git push
与主人有不同的来源。
这可能吗?
(我知道这看起来很奇怪,但......代理商,偏执狂......我放弃了)
答案 0 :(得分:1)
你绝对可以有两个remotes(不是起源)。让我打电话给你正在处理 origin 的那个和第二个代理商。
假设您已经配置了 origin ,则使用
添加第二个 origingit remote add agencies http://agencies.org/crazy-repo.git
如果我理解正确, agencies 存储库中应该只有一个master
分支,并且每个版本只应包含一个提交,其中包含在迭代中完成的所有工作
IMO,您应该为此目的维护一个本地分支,您将在每个版本上更新。我们来做吧。
$ git fetch agencies
$ git branch paranoia agencies/master
Branch paranoia set up to track remote branch master from agencies.
迭代后,您应该创建一个重新提交提交(并且可能使用新版本tag it)。这将有助于您找到已发布给代理商的内容以及新内容。
git comiit -m "Release of the next public version" --allow-empty
git push origin master
然后,您需要使用迭代中的新更改来更新paranoia
分支。
git checkout paranoia
git cherry-pick <commit-hash-or-tag-of-previous-release>..master
git reset --soft agencies/master
git add -A
git commit -m "This is all the work in the past iteration, authored by me!"
git push
您可以创建一个git alias来自动化它。