好的,我再次尝试描述我的问题。首先让我说我是 Git 的初学者。我读过很多东西,但有些地方对我来说不清楚。
我在本地工作。我在本地分支上的头与 gitlab 上的远程分支具有相同的 ID。但是在 gitlabserver 上,我可以看到两个分支 1。裸/分支X 2.分支x。
当我比较这两个分支时,bare/branchx
在branchx
后面.
我搜索了一段时间以找到将bare/branchx
更新为branchx
的命令,但没有找到。我怀疑出了什么问题。
另一个问题是,为什么我看到这两个分支而不是一个 - bare/branchx
.正如我所读到的,在远程服务器上必须只是一个裸露的存储库。但是当我将数据拉到远程时,没有非裸存储库?当裸存储库没有工作树时,我的数据在哪里?
的问题,这么多的答案和在 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
目录中的索引与工作树本身之间的任何差异 - 所有签出的文件:没有工作树,没问题)
您应该只看到remotes/origin/master
:这是将master
推送到origin
后应该与master
处于同一级别的分支。
remotes/origin/bare/master
不应该存在,这里的"裸"可以是分支命名空间