为什么 git clone 不设置远程跟踪分支?

时间:2021-04-15 00:05:48

标签: git git-clone git-remote

在运行 Git 2.24.3 (Apple Git-128) 的新笔记本电脑上,我注意到每当我克隆一个存储库时,我都没有获得远程(因此远程跟踪分支)设置:

$ git clone git@gitlab.com/myuser/myproject.git
Cloning into 'myproject'...
remote: Enumerating objects: 70, done.
remote: Counting objects: 100% (70/70), done.
remote: Compressing objects: 100% (40/40), done.
remote: Total 70 (delta 34), reused 63 (delta 27), pack-reused 0
Receiving objects: 100% (70/70), 180.33 KiB | 124.00 KiB/s, done.
Resolving deltas: 100% (34/34), done.
$ cd myproject
$ git status
On branch master
nothing to commit, working tree clean
$ git remote -vv
$
$ git branch -a
* master
$ ls -l .git/refs
total 0
...redacted... heads
...redacted... remotes
...redacted... replace
...redacted... tags
$ ls -l .git/refs/remotes
$

我需要更改某些设置吗?当我总是想从我克隆的地方推回时,每次都必须手动创建一个遥控器有点乏味。

文档清楚地表明这应该发生:

<块引用>

将存储库克隆到新创建的目录中,为克隆存储库中的每个分支创建远程跟踪分支(使用 git branch -r 可见),并创建并检出从克隆存储库当前活动分叉的初始分支分支。

我正在检查活动分支,但没有远程。

2 个答案:

答案 0 :(得分:4)

所以问题是您使用的是 git filter-repo。这确实可以删除您的遥控器(例如,这里讨论过:How to modify remote history with git filter-repo?)。

答案 1 :(得分:0)

我会先尝试:

  • 删除全局配置 ~/.gitconfig(如果有任何其他位置要清除,请检查 git config -l --show-origin
  • upgrade Git 到最新的 2.31
  • 再次克隆

这样,您可以使用最近的 Git 和干净的配置检查问题是否仍然存在。