【问题标题】:How to update a "relay" repository?如何更新“中继”存储库?
【发布时间】:2018-05-13 07:24:40
【问题描述】:

我在两台机器上工作(一台是“本地”,另一台是“远程”)。我做了以下设置:

  1. 在“远程”机器上:git init --bare repo1
  2. 在“本地”机器上:git clone ssh://rep1
  3. 在“本地”机器上:git remote add rep1 ssh://remote_machine/rep1
  4. 在“本地”机器上:git push remote_machine master

所以,在纯文本中,我在我的“远程”机器上创建一个“中继”存储库,然后,在“本地”机器上我克隆存储库(从某个地方),然后我从“本地”推送这个存储库机器到“远程”机器。

之后我通过执行更新了“本地”存储库

git fetch ssh://myname@something1 something2 && git checkout FETCH_HEAD

现在我不知道如何将本地存储库的更改传播到远程存储库。有人知道怎么做吗?

添加

由于有点混乱,我稍微澄清一下。涉及 3 台机器,但其中只有两台很重要(我将它们称为“本地”和“远程”)。当我在“本地”机器上时,我从这第三台机器(没有名称)中提取。换句话说,“本地”机器的内容取自第三台机器。我想要实现的是将“本地”机器上的内容传播到“远程”机器(同样,“远程”机器与“第三”机器不同)。

增加了 2 个

问题是git push 无论如何都不能工作。当我在“本地”机器上执行git log 时,我看到了今天的一些提交。然后我执行与创建远程存储库的原始内容相同的推送:git push remote_machine master。这个命令告诉我:

Killed by signal 1.
Everything up-to-date

我转到远程机器并执行git log,我只看到几周前完成的提交(我没有看到今天的提交,我在本地机器上看到了)。

【问题讨论】:

  • 好吧,你的问题有些让我困惑。您在描述中处理了 3 个不同的遥控器。如果您的结构一致,则更容易跟踪您的测试。我现在看不到这种结构,实际上我无法按照您的描述进行操作。所以也许你再投入一些时间来重新表述这个问题。
  • 如何将本地仓库的变化传播到远程master?添加文件,提交并推送到原始主机。如果您的 in 分支则将该分支合并到本地 master,然后将您的本地 master 推送到 origin。
  • 您使用git push将更改从本地传播到远程。
  • 通常你会将提交从本地推送到远程。为什么这对你不起作用?
  • 您是否创建了一个新分支,或者您是否仍然检查了分离的头部(FETCH_HEAD)?见stackoverflow.com/questions/35736116/…

标签: git git-remote git-bare


【解决方案1】:

对我有用的是转到“远程”机器并执行git pull。之后,我可以通过在“远程”机器上执行 git log 来查看今天的提交。

【讨论】:

  • 如果远程上的 git pull 为您修复了它,那么您并没有推送到您的“远程”机器。您正在推动第三个仓库,它是您的“本地”和“远程”机器的真正远程。
猜你喜欢
  • 2019-05-08
  • 2011-02-03
  • 2020-12-19
  • 1970-01-01
  • 1970-01-01
  • 2015-05-20
  • 1970-01-01
  • 2018-03-17
  • 2021-01-17
相关资源
最近更新 更多