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

Why isn't git clone setting up a remote tracking branch?

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

$ 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
$

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

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

Clones a repository into a newly created directory, creates remote-tracking branches for each branch in the cloned repository (visible using git branch -r), and creates and checks out an initial branch that is forked from the cloned repository's currently active branch.

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

所以问题原来是你在使用git filter-repo。这确实可以删除您的遥控器(如所讨论的,例如,此处:)。

我先试试:

  • 删除全局配置 ~/.gitconfig(检查 git config -l --show-origin 是否有任何其他位置要清除)
  • upgrade Git至最新2.31
  • 再次克隆

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