【发布时间】:2021-07-10 00:35:00
【问题描述】:
在一台运行 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 可见),并创建并签出从克隆存储库当前活动的分支创建的初始分支分支。
我正在检查活动分支,但没有远程。
【问题讨论】:
-
你从
git branch -a得到什么?ls -l .git/refs和ls -l .git/refs/remotes怎么样? -
很奇怪。我不知道有什么配置选项可以做到这一点,但请检查
git config -l --show-origin是否有任何有趣的地方。可能是一个错误,尝试不同的 Git。 -
另一个奇怪的事情是常规的
git clone不会克隆refs/replace层次结构,但是,您的输出显示存在或已经存在替换对象。 -
@matt 我可以从我的命令历史记录中看到“你不在你认为的位置”或“你没有 git clone”的假设是不正确的。连续命令为:
git clone git@github.com:stevage/mapbox-gl-utils.git、cd mapbox-gl-utils、git-filter-repo ...,然后添加远程和强制推送。 -
嗨@SteveBennett - 这是你第一次提到
git-filter-repo。那很可能会删除您的遥控器!参见例如stackoverflow.com/questions/66373656/…
标签: git git-clone git-remote