在学习git的时候,遇到了如下问题:
git pull
1)我可以通过git branch --set-upstream-to remoteRep/remoteBranch
在该分支上将分支设置为默认分支。
git pull
2) 将其设为can的“非默认”分支git branch --unset-upstream
。
git push
3) 将其设为mogu 执行时的默认分支git push -u remoteRep remoteBranch
4)以及如何删除其tracked
状态git push
?
为什么--unset-upstream
没有分支git push
?
git init
git remote add tr https://github.com/wcobalt/testrepo.git
git pull tr master
git remote show tr
* внешний репозиторий tr
URL для извлечения: https://github.com/wcobalt/testrepo.git
URL для отправки: https://github.com/wcobalt/testrepo.git
HEAD ветка: master
Внешние ветки:
b1 отслеживается
master отслеживается
Локальная ссылка, настроенная для «git push»:
master будет отправлена в master (уже актуальна)
git branch --unset-upstream
fatal: Ветка «master» не имеет информации о вышестоящей ветке
push和pull命令共享同一对配置参数:存储库名称和分支名称。
如果在执行命令时未明确指定,则使用此对。
来自存储库配置文件的示例:
参数
remote
(“完整”名称,可用于git config
-branch.ветка.remote
)包含存储库的名称,参数merge
(“完整”名称 -branch.ветка.merge
)包含此存储库中分支的名称。无法指定
pull
和push
指定不同的分支(在远程存储中) - 没有两个不同的参数(类型merge-для-pull
和merge-для-push
)。同样,不可能单独“链接”一个分支(使其“跟踪”)
push
和pull
。您在第 1 段和第 3 段中给出的命令是同义词(摘自man git-branch
):(从技术上讲,他们添加了两个参数
remote
和merge
部分[branch "ветка"]
)push
同样,对于和分别“取消跟踪”一个分支(使其“未跟踪”)是不可能的pull
。您在第 2 点提供的命令git branch --unset-upstream [<branchname>]
将无法同时调用(没有明确指定存储库和分支)pull
和push
(从技术上讲,它只会删除参数remote
和merge
)。关于添加问题的附录,从:
你已经初始化了一个新的存储,附加了一个远程存储(在 name 下
tr
)。本地存储中的任何分支尚未跟踪到任何远程分支。可以通过查看.git/conig
(其中没有部分[branch "имя"]
)或尝试执行push
或pull
(没有明确指定存储库名称和分支名称作为参数)来验证。通过执行命令
git pull имя-хранилища имя-ветки
,你得到了指定分支的状态。但仍然没有本地分支链接到任何远程分支(内容.git/config
没有改变)。并且由于没有关联的分支,所以没有什么可以“解开”的。命令告诉你什么
branch --unset-upstream
: