我需要从 GitHub 克隆一个私有存储库,但我只想获得一个特定的标签(所以基本上,克隆实际上是错误的术语)。
\n\n现在的问题是,有多种选择,但所有选择都不起作用:
\n\ncurl或访问它们wget(至少我不知道如何访问)。git clone然后运行 agit checkout以获取标记指定的版本,但随后我下载的内容超出了我的需要,我处于分离头状态,所有剩余的内容都保留在磁盘上。当然,我可以手动清理它,但是 \xe2\x80\xa6 好吧,对于一项微不足道的任务来说,需要做很多工作。实现我想做的事情的最佳方法是什么?
\n\n我认为我的问题不够清楚,因此我添加了更多信息:我想要的不仅是获得由标签标记的修订版本,而且我还想删除整个历史记录。基本上,就好像 Git 从未存在过一样,我所拥有的只是我的代码的这个单一版本。有什么提示吗?
\n让我们假设我们正在使用 git 和 pull requests 进行开发,我们有:
所以我的问题是:
如果发布分支包含标签,并且发布分支在最后发布的 release/1.xy 版本之后被合并到 master 中,那么标签是否也被合并了?
对于长期支持,我的问题是:
假设有人想在 10 年内检查标签 1.1.1 的状态。如果 release 分支被删除但被合并到 master 并且我们有 master ,是否可以检查这个标记的提交?
谢谢
我正在处理一个项目,我想标记或提供版本号。当合并发生并且我的 CI/CD 成功运行时,我希望 gitlab 在我的 gitci.yml 文件中标记 V 1.0、1.1 等。
我刚做过第一次git push:
~/sb/ws> git push ~/gitrepo master:master
Counting objects: 1360, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (998/998), done.
Writing objects: 100% (1360/1360), 342.15 KiB | 20 KiB/s, done.
Total 1360 (delta 729), reused 0 (delta 0)
To /home/gitrepo
* [new branch] master -> master
Run Code Online (Sandbox Code Playgroud)
它似乎进展顺利,但是当gitk新的(裸)gitrepo 发生火灾时,我只看到提交注释:分支和标签名称消失了!
为什么?
有办法让他们回来吗?
$ git tag hello
$ git describe --tags
hello
... work work ...
$ git commit -m "work stuff"
$ git describe --tags
hello-1-48281
Run Code Online (Sandbox Code Playgroud)
说什么?什么是额外的东西?看起来不像SHA1 ......是否可以回到"你好"?
我想从给定的标签中获取分支名称.我试过了,git describe --tag <tag-name>但这并没有为我提供任何分支名称.我尝试使用gitk显示标签和分支,但gitk没有显示标签.当我列出标签时,git tag -l我看到列表中存在标签名称.
我只想要一个简单的命令,可以在提供标签名称时告诉我分支.
我用标签"Release_V1.0.0.4"标记了我的存储库.但这是我从"git describe"和"git describe origin"得到的.
[root pds_series] #git describe
Release_V1.0.0.2-22-g0859de9
[root pds_series] #git describe origin
Release_V1.0.0.2-18-gce2b24c
使用"git describe --all"和"git describe --tags",我得到了正确的标签.
[root pds_series] #git describe --all
标签/ Release_v1.0.0.4
[root pds_series] #git describe --tags
Release_v1.0.0.4
此外,通过以下命令,我得到了正确的标签.
[root pds_series] #git log --pretty = format:'%ad%h%d' - shared-commit --date = short -1
2012-11-15 0859de9(HEAD,Release_v1.0.0.4,master)
有谁知道这背后的原因?我该如何解决这个问题?
在git中回显带注释的标签git cat-file -p <hash-of-tag>会产生如下结果:
object <sha1-hash>
type commit
tag 0.0.1
tagger My Name (...)
Description of tag
Run Code Online (Sandbox Code Playgroud)
object在我的情况下指向一个提交对象。type commit暗示不一定一定要这样。在某些情况下,带注释的标签没有指向提交吗?
我通过标签结帐遇到了一个非常奇怪的问题.在将最新的更改从开发合并到master之后,我从master创建了一个标记并推送到远程.然后生产拉动成功,但当我签出标签并运行git状态我得到
目前不在任何分支机构
在我的本地计算机上,git status正确显示头部在特定标记处分离,例如1.0.0
git branch -v
* (no branch) ca992e2 Example commit message
develop e945a50 Example commit message
master ca992e2 Example commit message
Run Code Online (Sandbox Code Playgroud)
有小费吗?
I ran:
$ git log master
Run Code Online (Sandbox Code Playgroud)
I got:
commit 7940b82568e1d28a76557fbb403c46c3ef3cfe90 (tag: prod-api-2019-04-23, master)
Author: Kent Mills <kent.clark@mwzx.com>
Date: Tue Apr 23 10:33:12 2019 -0700
Run Code Online (Sandbox Code Playgroud)
I am wondering - wrt git tags - does every git tag have a unique commit id associated with it?
For example, if I run git tag how can I see what the commit id's are for those tags? Something like git tag --full or something.
git ×10
git-tag ×10
git-branch ×2
bash ×1
git-checkout ×1
git-clone ×1
git-describe ×1
git-merge ×1
git-push ×1
github ×1
gitlab ×1
gitversion ×1
tags ×1
versioning ×1