【问题标题】:Git sync repository in two different workspaces(folders) on the same computer同一台计算机上两个不同工作区(文件夹)中的 Git 同步存储库
【发布时间】:2019-03-03 18:21:18
【问题描述】:

我正在开发一个没有远程推送(写入)权限的 git 存储库。我需要在同一主机上的两个不同工作空间(克隆到不同文件夹中)中的这个 repo(同步:相同的分支,相同的代码)。一种解决方案是在两个地方进行相同的更改。但这只是重复工作,因为这将是完全相同的更改,最终我将仅将这些更改推送到远程存储库。
因此,我想做以下事情:

  1. 在一个工作区中进行更改,然后进行本地提交
  2. 将这些更改拉到另一个工作区而不推送这些 变为远程。

    我如何在 git 中做到这一点。

谢谢,
山塔努

【问题讨论】:

  • 是的。我需要这个仓库在两个不同的文件夹中。
  • 我的机器上有两种不同的服务在本地运行。两者都在使用这个 repo。我需要在这两种服务中进行这种更改。此外,这些服务只需要从它们各自的工作场所使用这个包。
  • 哦,好的。您可以尝试将其中一个存储库的来源修改为您的本地。但在这种情况下,您将失去一个 repo 上的 git push 功能,而另一个 repo 将拥有该功能。可以吗?
  • 是的。正如我所说,我只需要从一个仓库推送到远程。你能告诉我怎么做吗?
  • 将它们设置为远程,以便您可以根据需要在它们之间推送。即使它在同一个 FS 上,不同的 repos 也是“远程的”所以....

标签: git git-pull pull


【解决方案1】:

有两种方法可以做到这一点,都将 repo 的来源更改为指向一个 repo。

假设你的仓库是 A

一旦您将 repo 克隆到本地“第一个目的地”,您将在该 repo 中获得指向您的远程的源,即https://github.com..../A.git

现在,如果您想将 repo 再次克隆到“第二个目的地”,您可以从远程克隆它或使用本地。

  1. 如果您选择远程选项: 然后转到 repo 并将 git 远程源更新到您的本地 repo。

    git remote set-url origin localpath/A.git

  2. 如果您使用本地选项: 你不必做任何事情。只需使用指向本地仓库的 git clone 正确克隆即可。窗户的例子

    git 克隆 C:\xxxxxx\A\.git

    以上内容会将来源设置为您的本地存储库。因此,您可以继续在第一个克隆位置提交文件,然后从第二个克隆位置拉取文件,它们将彼此同步。

【讨论】:

  • 真的吗? git 可以将原点设置为本地仓库!?我才意识到这一点。
【解决方案2】:

全部,

对我来说,存储库必须从完全空的开始,并且必须从第一个非存储库目录添加 20 多个目录中的文件,然后在读取其他目录时,它们的文件必须与存储库中新添加的文件合并.

干杯!

TBNK

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-03
    • 2021-12-02
    • 2020-12-14
    • 2015-12-26
    • 2014-11-02
    • 1970-01-01
    • 2015-03-31
    • 1970-01-01
    相关资源
    最近更新 更多