联系人git checkout说:
Run Code Online (Sandbox Code Playgroud)git checkout <branch>如果
<branch>找不到但是在一个<remote>具有匹配名称的远程(称为)中确实存在跟踪分支,则视为等效于Run Code Online (Sandbox Code Playgroud)$ git checkout -b <branch> --track <remote>/<branch>
其中,手册页的git checkout说,所调用
$ git branch -f <branch> <remote>/<branch>
Run Code Online (Sandbox Code Playgroud)
与 -t选项,git branch默认情况下(从手册页git branch)
Run Code Online (Sandbox Code Playgroud)-t创建新分支时,设置
branch.<branch>.remote和branch.<branch>.merge配置条目以将起点分支标记为新分支的"上游".
是什么<remote>/<branch>在等效git checkout命令,然后在git branch命令代表什么?
由于git branch命令设置 branch.<branch>.remote 并 branch.<branch>.merge成为远程存储库和远程分支,是否<remote>/<branch> 代表远程分支(上游分支)?
由于git branch命令创建一个新的本地分支<remote>/<branch>,是否<remote>/<branch>代表远程跟踪分支?
谢谢.
git help revisions 将告诉你如何解释refname.
以供参考,
<refname>例如master,heads/master,refs/heads/master
一个象征性的裁判的名字.例如,master通常表示refs/heads/master引用的提交对象.如果您碰巧有head/master和tags/master,您可以明确地说head/master告诉Git你的意思.当含糊不清时,通过采用以下规则中的第一个匹配来消除歧义:
- 如果$ GIT_DIR/<refname>存在,那就是你的意思(这通常只对HEAD,FETCH_HEAD,ORIG_HEAD,MERGE_HEAD和CHERRY_PICK_HEAD有用);
- 否则,refs/<refname>(如果存在);
- 否则,refs/tags/<refname>(如果存在);
- 否则,refs/heads/<refname>(如果存在);
- 否则,refs/remotes/<refname>(如果存在);
否则,refs/remotes/<refname>/HEAD(如果存在).
HEAD命名您基于工作树中的更改的提交.FETCH_HEAD记录您使用上次git fetch调用从远程存储库中获取的分支.ORIG_HEAD由以强烈方式移动HEAD的命令创建,用于在操作之前记录HEAD的位置,以便您可以轻松地将分支的尖端更改回运行之前的状态.当您运行git merge时,MERGE_HEAD会记录您正在合并到分支中的提交.当你运行git cherry-pick时,CHERRY_PICK_HEAD会记录你正在挑选的提交.请注意,上面的任何refs/*情况可能来自$ GIT_DIR/refs目录或来自$ GIT_DIR/packed-refs文件.虽然未指定引用名称编码,但首选UTF-8,因为某些输出处理可能会假定使用UTF-8中的引用名称.
@
@ alone是HEAD的捷径.
所以当你说origin/master和Git在那里寻找回购中的东西时,它会根据该列表进行搜索,除非你用分支或标记前缀来惩罚你的远程名称,否则它会找到远程跟踪引用refs/remotes/origin/master.
(请注意,有很多方便的方法可以在Git中引用这个或那组修订,请参阅文档).
| 归档时间: |
|
| 查看次数: |
72 次 |
| 最近记录: |