gpt4 book ai didi

git - 关于切换回空主分支的上游消失消息?

转载 作者:IT王子 更新时间:2023-10-29 00:44:27 26 4
gpt4 key购买 nike

我的git版本是Git-1.9.4-preview20140611早些时候,我克隆了一个空的 git origin 存储库。存储库已克隆,但带有以下消息

警告:您似乎克隆了一个空存储库。正在检查连接...完成。

接下来,复制另一个项目的 master Git 存储库中的 .gitIgnore 文件并将其提交给本地 master。这个文件我们以前用过很多次。这似乎很好。我们的所有项目都有一个标准化的 .gitIgnore 文件。这是作为最佳实践的一部分创建的。

接下来新建一个分支,在本地git repo所在的物理位置复制一些代码

git checkout -b FromCC

添加代码并提交到这个分支。

git add --all
git commit -M "Blah"

所有这些操作都是成功的。

我的目的是最终将这些更改 merge 到本地 master 分支。

我接下来做

git checkout master

并获得以下消息。

你的分支基于'origin/master',但是上游没有了。 (使用“git branch --unset-upstream”进行修复)

这条消息是什么意思?为什么上游会“消失”?

有趣的观察:我今天对同一个主 Git 存储库重复了相同的过程。这次 Git 存储库不是空的。它之前有 .gitIgnore 文件。这次没有出现上述信息。

最佳答案

丢失的不是上游存储库(origin 本身),而是您克隆的特定分支(master on origin)。

此外,git 的消息具有误导性:origin 上的分支master 没有消失,它从不存在。当您克隆空存储库时,它根本没有分支。它继续没有分支机构。因此,设置为跟踪 origin/master 的本地 master 正在(正在)跟踪一个确实(不)存在的分支。

该消息更适用于这种情况:

$ git clone ...
$ git checkout featureX # track some feature branch
[go away for a week, come back]
$ git fetch -p # update remote branches

在您离开的那一周,featureX 分支被删除(可能 merge 到它的开发线中,然后不再需要)。此时你在本地分支featureX,设置为跟踪远程分支origin/featureX,但是没有origin/featureX > 任何更多。

不过,在这种情况下,当还没有 origin/master 时,您有本地分支 master 跟踪 origin/master 。一旦创建它(通过使存储库非空的推送),问题就会消失。这只是因为默认情况下您从 master 开始,即使 Remote 是空的并且实际上还没有 master

关于git - 关于切换回空主分支的上游消失消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24870145/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com