gpt4 book ai didi

git - 当我将本地分支推送到服务器时,它不会显示为跟踪

转载 作者:太空狗 更新时间:2023-10-29 12:45:43 29 4
gpt4 key购买 nike

我有一个 git 仓库。如果我创建一个本地分支,做一些事情然后将分支推送到服务器,执行 git branch -vv 不会将其显示为跟踪。

但是,如果我重新下载 repo 协议(protocol),它会显示 git branch -vv

我也尝试了以下但没有成功。

git config --get branch.foobranch.remote

git config --get branch.foobranch.merge

如果我继续使用该分支,从服务器进行多次推送和 pull ,一切正常,所以我只能假设 git 知道该分支正在以某种方式跟踪远程。我想知道如何访问这些信息。

最佳答案

But isn't that tracking information there to begin with?

否:当您在本地创建新分支时,Git 不会假设您要将它推送到哪里(到哪个远程仓库)。

更具体地说,一个简单的 git push (没有 -u )不会设置本地配置 branch.<name>.remotebranch.<name>.merge , 当一个本地分支有一个与之关联的上游分支时设置。

您必须在第一次推送该分支时指定上游存储库。

这不同于 git clone (man page) :

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.

因为(例如)origin/master 存在远程跟踪分支, 当 git clone checkout master , 说 master将自动与其上游分支相关联origin/master .
参见 git checkout

If <branch> is not found but there does exist a tracking branch in exactly one remote (call it <remote>) with a matching name, treat as equivalent to

$ git checkout -b <branch> --track <remote>/<branch>

这就是为什么您可以直接从 master 推送的原因在克隆之后,但您不能在创建新分支后直接推送(您的本地仓库中没有 origin/newBranch 远程跟踪分支)

该 checkout (自动跟踪现有的远程跟踪分支 origin/<branch> )将设置本地配置 branch.<name>.remotebranch.<name>.merge .

关于git - 当我将本地分支推送到服务器时,它不会显示为跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40145241/

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