如何克隆具有特定修订版的git存储库,就像我在Mercurial中通常所做的那样:
hg clone -r 3 /path/to/repository
Run Code Online (Sandbox Code Playgroud) 
--branch也可以在结果存储库中的提交处获取标记并分离HEAD.
我试过了
git clone --branch <tag_name> <repo_url>
Run Code Online (Sandbox Code Playgroud)
但它不起作用.它返回:
warning: Remote branch 2.13.0 not found in upstream origin, using HEAD instead
Run Code Online (Sandbox Code Playgroud)
如何使用此参数?
我曾希望这会奏效:
git checkout remote/tag_name
Run Code Online (Sandbox Code Playgroud)
但事实并非如此.这样做:
git checkout tags/tag_name
Run Code Online (Sandbox Code Playgroud)
但是我做了一些奇怪的事情,我有很多遥控器,我担心如果两个遥控器有相同的标签会发生什么.签出标签时有没有办法指定遥控器?
我需要在我创建的tarball中包装git子模块git-archive.
我看到在1.6.5 git-archive中不支持git子模块.
我在网上看到几个脚本来处理这种情况,但我不确定选择哪一个.
最好/最官方的方法是什么?
我们正在为自动化代码进行开发.
我们的代码使公司的产品自动化,并与特定的产品版本同步.
目前,我们有一个包含多个分支的大型Git存储库 - v1.0,v1.1,v2.0(版本1.0的自动化进入v1.0分支,依此类推).
在具有分支的单个存储库中将这些存储在一个单独的存储库中的优点和缺点是什么?
两种解决方案都可以工作,我正在寻找的答案是两种方法的优缺点列表.
我知道许多团队正在使用分支来隔离开发中的临时阶段,例如执行错误修复或新功能,最终将工作合并到主要开发分支中.
我知道的其他工作模式有不同的分支用于开发,发布等,以将代码的"清洁"修订与经常处理的脏代码分开.
这些听起来都不像我们目前所做的那样.
*请注意,我们制作的特定版本中的某些修改与所有产品版本相关,而有些版本则不然.
我有一个提交哈希abcx,我给它一个标签100.现在我想将文件签出example.pl到该标签100.在git中有可能吗?
我能做到git checkout abcs example.pl,但我直接想要abcx.
有人可以帮我这个吗?
根据我的理解,git中的标记只是用名称标记一个特定的提交.
所以说我发布1.5版,我创建了一个标签1.5
现在,如果客户发现了错误,我该如何将1.5代码库"检出"到我的工作目录?
我想我会执行错误修复,然后创建另一个标签,如1.5.1.
然后我可能会将该代码合并到当前版本中,对吧?
虽然似乎有一种克隆整个仓库的方法,这里描述的,我只需要Java API文件,仅此而已.(提示:流量限制+慢速连接)
现在,这是整个git repo,但是普通的Java API文件在哪里?或者他们是在一个完全不同的位置?有人有想法吗?我不是那么多git专家.
在我正在工作的这个项目中,我们根据标签进行部署。虽然标签必须针对 master 分支完成(在您合并发布之后),但有时有人可能会错误地针对 dev 或 release 分支进行标记,这是不正确的。这会导致几个问题。
在我们的部署脚本中,有一个步骤是我们从 git 克隆特定标签,使用的过程类似于此问题中描述的过程:使用 Git 下载特定标签
$ git clone
$ git checkout tags/<tag_name>
Run Code Online (Sandbox Code Playgroud)
如何修改此脚本以检查此标记是否实际上是针对 master 分支完成的?如果分支不是主分支,我想然后停止部署并抛出错误。
谢谢。
我需要一些帮助来规划工作流程如何用于最近转换为Git的特定站点开发环境(来自SVN).
我在客户端服务器上有4个开发人员,实时和登台站点,以及一个托管"hub"(裸仓库)以及2个开发人员回购站的开发服务器.我们有几个里程碑的变化要处理,具有未知的完成顺序并由多个开发人员处理.此外,实时网站需要动态完成许多快速修复.
我的主要问题是:
我的大脑开始循环,试图找出最佳的工作流程.作为这篇文章的参考,让我们说我有两个里程碑的变化:移动和重新设计.这是我到目前为止所提出的:
每个开发人员仓库,集线器仓库和阶段仓库都有这些分支:移动,重新设计,主控.现场回购有一个分支:主人
快速修复:开发人员对其主分支进行更改,然后推送到集线器.然后在现场,从中心拉出更改(如果他们需要事先在那里测试,则先进行阶段).
最终阶段和发布"重新设计"MILESTONE:开发人员将重新设计分支推送到集线器并在阶段进行更改.客户端测试和批准.在中心,开发人员将重新设计合并到主人(并且我认为在这里创建一个标签),然后在现场拉主人.或者开发人员在他的副本中合并分支,然后将他的主人推送到集线器会更好.另外,如果创建了一个标签,最好是在现场拉标签(如果可能)而不是拉动主分支?标签应该只驻留在集线器仓库上吗?
git ls-remote --tags git://github.com/git/git.git
Run Code Online (Sandbox Code Playgroud)
列出最新的标签,无需克隆。我需要一种能够直接从最新标签克隆的方法
我正在开发一个"大"项目,它有几个标签.
通常,生成tarball并使用其名称中的最后一个哈希保存(不是最佳实践,但它是如何滚动).
以下需求已经上升:我们希望从我们的服务器下载确定的tarball tags/v1.0.0.
现在的问题是:如何在不克隆整个项目的情况下获取该标签的哈希值?
编辑(OP):问题不明确.我不想要下载的项目,因为它是大的,我要的信息的唯一的一块是标签的哈希值.
我的本地计算机上有一个工作树,还有一个远程存储库.假设我想在一个已知标签上快速构建我的项目的早期版本,而不会干扰工作版本的当前状态.我倾向于检查一棵单独的树,这似乎与这个问题相似:
使用远程存储库中的克隆,然后在那里进行结帐.但克隆做了很多工作,并拉低了所有的修订状态.有没有轻量级的说法"在这个提交/标签中抓住我当前的世界状态并将其喷入此目录?" (不需要进一步的修订控制 - 就Git而言,它是"只读".)
也许不 - 只是检查.
谢谢.
git ×13
git-clone ×3
git-tag ×3
dvcs ×2
repository ×2
tags ×2
android ×1
clone ×1
git-branch ×1
git-checkout ×1
git-remote ×1
revision ×1
web ×1
workflow ×1