我有一个跟踪几个远程分支的git存储库:
$ git branch -a
* master
remotes/git-svn
remotes/origin/master
remotes/trunk
Run Code Online (Sandbox Code Playgroud)
当我尝试设置默认值时,我收到以下错误:
$ git branch --set-upstream-to=origin/master master
warning: refname 'origin/master' is ambiguous.
fatal: Ambiguous object name: 'origin/master'.
Run Code Online (Sandbox Code Playgroud)
我想删除一些远程主分支,但主引用仍然存在.如何删除它们才能将默认上游分支设置为origin/master?
$ git show-ref master
cba97a58c99743c355b569bbf35636c8823c2d96 refs/heads/master
6726b4985107e2ddc7539f95e1a6aba536d35bc6 refs/origin/master
d83f025cd3800ed7acd76b2e52ae296e33f1cd07 refs/original/refs/heads/master
cba97a58c99743c355b569bbf35636c8823c2d96 refs/remotes/origin/master
Run Code Online (Sandbox Code Playgroud) 我查看了所有其他模棱两可的refname问题,但它们似乎都没有帮助.为什么我收到这个警告?
$ git checkout master
warning: refname 'master' is ambiguous.
$ git show-ref master
eef61c00da690f093063ac5a728e22fd21648104 refs/heads/master
$ git branch -a
checkers
exercises
* master
$ git remote -v
$
Run Code Online (Sandbox Code Playgroud) 我有两个分支'master'和'develop',我从master创建一个新的分支'hotfix-1'然后我将'hotfix-1'合并回master;
git checkout master
git merge --no-ff hotfix-1
Run Code Online (Sandbox Code Playgroud)
为这一点创建了一个标签;
git tag -a hotfix-1 -m ""
Run Code Online (Sandbox Code Playgroud)
然后我切换回从master开发分支并合并'hotfix-1';
git checkout develop
git merge --no-ff hotfix-1
Run Code Online (Sandbox Code Playgroud)
合并'hotfix-1'后开发我得到了"警告:refname'hotfix-1'含糊不清"的消息,它成功地将我的更改合并到了开发中 ......我应该担心什么吗?
编辑
git show-ref --heads --tags
d97bfc563749918799d4659c43f7bffd29cf4d60 refs/heads/develop
594ea85c94f8321d372779ed3dbd5df07bdb059b refs/heads/master
ffc897f8ab19510d5ff4c67969d0f0cb97d1c4f3 refs/tags/beta-1.0
490a8c80ecec70fd2268aa0c2ad7a9beb6bf491c refs/tags/beta-1.1
644adadb43744ad1d2e0f13fc37abb6906520f8f refs/tags/hotfix-1.0.1
4c49e8d9ddc8d601ed794f307e1c29acfc84b31b refs/tags/release-1.0
Run Code Online (Sandbox Code Playgroud) 我是git的新手,并试图围绕分支的工作方式.根据文档git checkout
更新工作树中的文件以匹配索引或指定树中的版本.如果>没有给出路径,git checkout也会更新HEAD以将指定的分支设置为>当前分支.
所以据我所知,我工作的目录中的文件(我执行git init的文件)应该根据我所在的分支进行更改.我很困惑,因为当我在分支之间切换时不会发生这种情况.在切换分支之前我正在编辑的编辑存在于我切换到的分支中.我做错了什么或git checkout不能这样工作,我只是误解了文档?