我有一个git repo.如果我创建一个本地分支,执行操作然后将分支推送到服务器,执行a git branch -vv不会将其显示为跟踪.
然而,如果我把新的回购品拉下来,它确实会出现 git branch -vv
我也试过以下没有成功.
git config --get branch.foobranch.remote
git config --get branch.foobranch.merge
Run Code Online (Sandbox Code Playgroud)
如果我继续使用该分支,从服务器进行多次推送和拉动,一切正常,所以我只能假设git知道分支正在以某种方式跟踪远程.我想知道如何访问这些信息.
但那不是那个跟踪信息开始吗?
不:当你在本地创建一个新的分支时,Git不会假设你要推送它的位置(到哪个远程仓库).
更具体地,一个简单的git push(不-u)将不设置本地配置branch.<name>.remote和branch.<name>.merge,当本地分支具有关联一个上游分支,其被设置.
您必须在第一次推送该分支时指定上游仓库.
将存储库克隆到新创建的目录中,为克隆存储库中的每个分支创建远程跟踪分支(可见使用
git branch -r),并创建并检出从克隆存储库的当前活动分支分叉的初始分支.
由于存在(例如)远程跟踪分支origin/master,何时git clone结账master,所述master将自动与其上游分支相关联origin/master.
看到git checkout
如果
<branch>找不到但是在一个<remote>具有匹配名称的远程(称为)中确实存在跟踪分支,则视为等效于
$ git checkout -b <branch> --track <remote>/<branch>
Run Code Online (Sandbox Code Playgroud)
这就是为什么你可以master在克隆之后直接推送,但是你不能在创建一个新的分支后直接推送(origin/newBranch你的本地仓库中没有远程跟踪分支)
该结账(自动跟踪现有的远程跟踪分支origin/<branch>)将设置本地配置branch.<name>.remote和branch.<name>.merge.
| 归档时间: |
|
| 查看次数: |
179 次 |
| 最近记录: |