制作'代理'知识库

时间:2017-08-07 14:53:34

标签: git

我试图找出一些明智的解决方案,以便能够跟踪多个环境中的变化。

基本上我有以下设置:

connectivity

我可以从MyPC访问gitlab存储库。无法从Internet访问此存储库,只能通过某些VPN连接访问。在另一个实例中,我需要在PC上的远程实例上测试和开发代码,我只有一个(加密的)RDP连接。从远程PC我无法访问互联网;既没有办法连接到远程gitlab存储库。但我确实通过RDP将Windows网络驱动器连接到MyPC。

所以我在想:是否可以在远程PC上进行更改;然后将它们推送到MyPC;并且可能进行其他修改后将其推送到gitlab的远程存储库?

我想我需要找出一个裸存储库的配置。但说实话,我没有线索。

我尝试或试图避免的事情:

  1. 我的开发环境不适用于网络驱动器 - 这将是最简单的解决方案;但不幸的是,这是一些我无法解决的奇怪问题(并且与这个特定问题没有多大关系)
  2. 我从网络驱动器克隆了存储库 - 但我无法对其进行更改; git警告我腐败指数。
  3. 我该怎么办?

1 个答案:

答案 0 :(得分:0)

如果MyPC可以从远程PC访问文件共享,这将更容易(您只需将远程PC&#39的repo添加为MyPC仓库中的第二个远程,这样您就可以{{1 (然后fetch(或merge)本地)而不是rebase);但听起来并非如此。

因此,您可以从远程PC的回购推送到MyPC回购,但默认情况下您无法推送到当前已检出的分支机构。 (如果MyPC也被积极用于开发,那么我建议反对更改默认行为。)

听起来你已经在远程PC的回购中添加了MyPC repo作为遥控器(尽管如果你使用了push我建议你重新使用它取而代之的是/just/a/path/to/the/repo类型的网址。然后你只需要设置一个file://localhost/just/a/path/to/the/repo refspec,避免写入MyPC repo检出的分支。例如,如果MyPC是名为push的远程,那么

origin

会在git config remote.origin.push +refs/heads/*:refs/heads/myRemote/* 上设置默认行为,例如pushmaster。 (基本上在推送之后,它将在myRemote/master仓库中查看,就好像您从名为myPC的远程编辑fetch。然后您可以像往常一样合并或重新定义更改。)

相关问题