gpt4 book ai didi

linux - 如何将 "shadow"git 存储库与主存储库 "secretly"同步

转载 作者:IT王子 更新时间:2023-10-29 01:25:51 25 4
gpt4 key购买 nike

我有一个客户,我通过 git 存储库为其工作。我不想让他知道我正在部分使用另一个开发人员。因此,我创建了一个“影子”存储库,供我的开发人员使用。

如何将“影子”存储库与主存储库同步,以便主存储库不知道发生了什么?

  • 我不能用 git 命令 merge ,因为这会暴露我真正做了什么。
  • 我可以复制和粘贴所有文件,但在 git 中会看到我已删除所有文件并替换为具有相同名称的新文件。这看起来不太好。
  • 我的客户正在使用 bitbucket。我可以向其他开发人员提供我的 bitbucket 登录信息,但我想避免这样做。
  • 真正有效的是,我可以在主存储库中打开一个文件,删除内容,然后粘贴更新的代码。然后我可以提交,看起来我是否直接在主存储库中完成了工作。但这很耗时(我没有太多时间)。

有没有其他方法可以让我“ secret 地”将文件内容从影子存储库复制到主存储库?是否有一个 linux/osx-command 我可以使用它来替换文件的内容而不删除和重新创建文件(然后我可以递归地使用它)?是否有一个 git 命令可以在不留下我实际所做的证据的情况下实现这一点?

最佳答案

您可以使用命令行让不同的 git 存储库修改同一组本地 文件。只需使用 GIT_DIR 环境变量。 Git 存储库是完全独立的,并且可以跟踪同一目录中的文件。

rem set Git to use the sub-developer's git repository
set GIT_DIR=/path/to/sub/repository.com

rem verify which repository that you are on
git rev-parse --git-dir

rem pull the sub-developer's latest
git pull

rem merge, commit, change, push, change branches, whatever
rem ... when the code is the way you want it

rem switch to client repository
set GIT_DIR=/path/to/client/repository.com

rem bring main repository up to date
git commit -m"changes brought over from sub-developer"

rem push the updated code to the client repository
git push

这对于其他开发实践很有用,例如版本控制实验室数据、本地开发实用程序、工作日志和其他似乎与源代码一起累积但不应与源代码一起存档的“杂项”文件。

关于linux - 如何将 "shadow"git 存储库与主存储库 "secretly"同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39369345/

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