在Atlassian SourceTree中,如何知道哪些标签只是本地标签,哪些标签也是远程标签?
创建标签时,您可以选择"将标签推送到:...",但如何在创建标签后知道标签是否已被推送?我可以在本地看到我的所有标签,但我需要确保它们存在于远程中,以便其他开发人员可以将它们拉出来.
当我git ls-remote在工作树中运行时,该命令输出原始仓库中的修订列表.出于某种原因,我对每个标签都进行了2次修订,对于同一标签的第二次修订,标签名称包括^{}
git ls-remote
From git@github.com:andris9/zzzzzz.git
d69e66d7c915b9682618b7f304b80cc0ae4c7809 HEAD
....
bb944682f7f65272137de74ed18605e49257356c refs/tags/v0.1.6
771a930dc0ba86769d6862bc4dc100acc50170fa refs/tags/v0.1.6^{}
a72251d945353a360087eb78ee75287c38a1c0e6 refs/tags/v0.1.7
d69e66d7c915b9682618b7f304b80cc0ae4c7809 refs/tags/v0.1.7^{}
Run Code Online (Sandbox Code Playgroud)
我用它创建标签
git tag -a v0.1.8 -m "tag message"
git push --tags
Run Code Online (Sandbox Code Playgroud)
从git-ls-remote 手册页的例子中没有这样的重复标签,所以也许我做错了什么?
如何从(非签出)远程仓库中获取最后一个标签?
在我的本地副本上我使用 describe
git describe --abbrev=0 --tags
Run Code Online (Sandbox Code Playgroud)
但我无法使用describe远程存储
我想让GitLab在我的服务器上运行(运行CentOS 6.5).我跟着gitlab-receipe到线,但我无法让它工作.我能够访问Web界面,创建新项目但推送到主分支返回以下错误:
fatal: protocol error: bad line length character: This
Run Code Online (Sandbox Code Playgroud)
我已经对生产环境进行了检查,结果如下:
Checking Environment ...
Git configured for git user? ... yes
Checking Environment ... Finished
Checking GitLab Shell ...
GitLab Shell version >= 1.7.9 ? ... OK (1.8.0)
Repo base directory exists? ... yes
Repo base directory is a symlink? ... no
Repo base owned by git:git? ... yes
Repo base access is drwxrws---? ... yes
update hook up-to-date? ... yes
update hooks in repos are links: ... …Run Code Online (Sandbox Code Playgroud) 我想获取git存储库的所有分支名称.目前,我克隆存储库然后在本地计算机上获取它们.这是低效的,因为我需要的只是名字而不是别的.
我想知道是否可以这样做?如果是这样,我可以使用什么命令.
以"^ {}"结尾的标签是什么?它们实际上并不存在于裸存储库中.
$ git ls-remote -t origin
55f09717db93733b8f151763e7e28628f3f22129 refs/tags/Init
dce13158fff0e95b8adcc5628f193a8c03bada9c refs/tags/Init^{}
2c9f64c306aa76e5b689bc2ffb41163aa255ac40 refs/tags/kaos-red
0970feca84d87df60ec5e943da2f55f1947fd0a3 refs/tags/legacy
dce13158fff0e95b8adcc5628f193a8c03bada9c refs/tags/legacy^{}
Run Code Online (Sandbox Code Playgroud)
当我尝试用"git push:legacy ^ {}"删除它们时,git会响应
fatal: remote part of refspec is not a valid name in :Init^{}
Run Code Online (Sandbox Code Playgroud)
那他们来自哪里?这是ls-remote中的错误吗?
运行该命令git ls-remote将列出以下条目:
e6c1ddea6ee8eefa9e96e349dd4fad4a48c16448 refs/tags/1.1
1a3b5ae3a50ca2f24e5cd917cbf51d371f1dd01e refs/tags/1.1^{}
81901877c5add523cd4a4bb8f51ad3bbbacbd686 refs/tags/1.2
4681b1ae6ec71301019da13d1790c2f808c2c553 refs/tags/1.2^{}
Run Code Online (Sandbox Code Playgroud)
^{}输出的意思是什么?