首页 > 解决方案 > 为什么 git clone 不设置远程跟踪分支?

问题描述

在一台运行 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
$

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

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

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

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

标签: gitgit-clonegit-remote

解决方案


所以问题原来是你正在使用git filter-repo. 这确实可以删除您的遥控器(例如,这里讨论过:如何使用 git filter-repo 修改远程历史记录?)。


推荐阅读