我有点疑惑为什么我无法直接从git clone命令检出标签.我尝试做的是:
git clone -b mytag <url>/foo.git
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
warning: Remote branch mytag not found in upstream origin, using HEAD instead
Run Code Online (Sandbox Code Playgroud)
标签存在,例如
cd foo && git checkout mytag
Run Code Online (Sandbox Code Playgroud)
...效果很好.
如果有人可以分享为什么不可能直接克隆到标签,我会很感激.谢谢.
我一直熟悉创建,合并和删除分支.我想知道我在哪里所以我不会把工作交给错误的分支.我git branch -a用来看看我有哪些分店.我认为asterix *显示了我目前所在的分支.当我得到它时意味着什么:
* (no branch)
master
origin/HEAD
Run Code Online (Sandbox Code Playgroud)
$git checkout mybranch我期待看到的时候
* mybranch
master
origin/HEAD
Run Code Online (Sandbox Code Playgroud)
我试过git子模块.虽然它可以解决我在项目中共享存储库的问题,但是使用子模块有两个问题困扰我:
这两个问题很容易在日常开发工作中引入错误.我发现git奴隶可以解决我的问题.
使用git slave有任何副作用吗?
或者是否有良好的做法可以避免git子模块中的上述问题?
在推送跟随错误发生
git.exe push "origin" master:master
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes before pushing again. See the 'non-fast forward'
section of 'git push --help' for details.
To //oht-fsv1/Source/Git/Test
! [rejected] master -> master (non-fast forward)
Run Code Online (Sandbox Code Playgroud)
怎么了?