问题描述
在 RedHat 服务器 7.7 上
我运行了以下命令。
git clone https://github.com/postgres/postgres.git
cd postgres
git remote add upstream https://github.com/postgres/postgres.git
git fetch upstream REL_12_STABLE
输出如下:
From https://github.com/postgres/postgres
* branch REL_12_STABLE -> FETCH_HEAD
代替
From https://github.com/postgres/postgres
* branch REL_12_STABLE -> FETCH_HEAD
* [new branch] REL_12_STABLE -> upstream/REL_12_STABLE
如果我运行 git branch –r 命令,我们不会看到额外的上游/REL_12_STABLE 条目
虽然在 RedHat 8 上一切正常。
解决方法
显然(根据评论)RH7.7 上的 Git 版本很旧,早于 Git 1.8.4。 (谷歌搜索表明它实际上是 1.8.3.1。)当使用这种形式的 upstream/REL_12_STABLE
时,像这样的非常旧的 Git 版本根本无法创建或更新远程跟踪名称,例如 git fetch
.
有几种解决方法或变通方法。这是我的前两名:
- 安装较新的 Git 版本将修复它。 (请注意,自定义 Git 可能与系统 Git 位于不同的目录中。这可能会很混乱,但通常应该可以工作。您可能需要调整
PATH
设置。) - 运行
git fetch upstream
而不是git fetch upstream REL_12_STABLE
可以解决这个问题,尽管这样做的缺点是获取所有内容而不仅仅是一个分支。