【问题标题】:Git - Bare Repository is not up to dateGit - 裸存储库不是最新的
【发布时间】:2013-01-14 09:01:45
【问题描述】:

好的,我再次尝试描述我的问题。 首先让我说我是 Git 的初学者。我读了很多东西,但有些地方对我来说不是很清楚。

我在本地处理工作副本。我在本地 branchx 上的头与 gitlab 上的远程 branchx 具有相同的 id。但是在 gitlabserver 上我可以看到两个分支 1.bare/branchx 2.branchx.
当我比较这两个分支时,bare/branchxbranchx 后面。

我搜索了一段时间找到将bare/branchx更新为branchx的命令,但没有找到。 我怀疑出了点问题。

另一个问题是,为什么我看到这两个分支而不是一个 - bare/branchx。 正如我所读到的,在远程服务器上只能是一个裸存储库。但是当我将数据拉到远程时,没有非裸仓库吗?当 Bare repo 没有工作树时,我的其他数据在哪里?

这么多问题,这么多答案和在 git 上做事的方法。我很困惑

当我输入时@kan

 git branch -a

我明白了

master
* x2
remotes/origin/bare/master
remotes/origin/bare/x2
remotes/origin/bare/x3
remotes/origin/bare/x4
remotes/origin/master
remotes/origin/x2
remotes/origin/x3
remotes/origin/x4

所以我有一个光秃秃的主人和主人。

【问题讨论】:

  • 抱歉,问题不清楚。你能改进一下吗?
  • 请为两个存储库提供git log --oneline --graph --decorate --all 的输出,至少对于最相关的提交。或者正如@kan 所说,改善你的问题:)
  • 我不明白 bare 在你的情况下是什么意思。要更新远程分支,您可以推送到它。没有pull to这样的东西,你只能拉。

标签: git repository updates git-bare


【解决方案1】:

但是当我将我的数据拉到远程时,没有非裸回购吗?当 Bare repo 没有工作树时,我的其他数据在哪里?

您不是拉到遥控器,而是到遥控器。
而且您总是推送到 bare repo (以避免.git 目录中的索引与工作树本身之间的任何差异 - 所有签出的文件:没有工作树,没有问题)

你应该只看到remotes/origin/master:一旦你将master推送到origin,这个分支应该与master处于同一级别。

remotes/origin/bare/master 不应该存在,这里的“裸”可以是分支命名空间

【讨论】:

  • 是的,我的意思是 推送到远程。而且......神圣的非常感谢你。我认为这个遥控器/起源/裸/主是 barerepo。所以我删除它。感谢所有其他人花时间在这方面。
猜你喜欢
  • 2015-04-02
  • 1970-01-01
  • 2014-11-12
  • 1970-01-01
  • 2014-08-03
  • 1970-01-01
  • 2013-01-29
  • 1970-01-01
  • 2011-01-13
相关资源
最近更新 更多