所以,我完成了我的应用程序的第一个版本。
我提交了第一个版本的最终状态
git commit -m "some final tweaks"
并创建了版本标记
git tag v1.0.0
和push
远程一切。
现在我正在开始开发应用程序的第二个版本,并且已经考虑了一些改进。
以后,我是否可以进行这些改进并commit
并创建新的tag
( v2.0.0 ),以便git克隆a提供标签的git的具体状态?
如果上一个版本是 v2.0.0 ,我还可以克隆版本 1.0.x 吗?
例如git clone git@github.com:mygitname/theproject.git#1.0.2
之类的东西?
答案 0 :(得分:23)
您可以使用--branch
标志执行此操作,该标志也会接受标记。
$ git clone git@github.com:mygitname/theproject.git --branch 1.0.2
在大多数情况下,您只想按照Exprator的答案中所述签出标签。
答案 1 :(得分:9)
使用git,您通常不会克隆特定版本;您clone
整个回购 - 制作每个版本的本地副本 - 然后checkout
特定版本。
默认情况下,克隆时会签出特定版本(通常为master
)。您可以使用-b
选项更改签出的版本(当然,您可以在克隆完成后查看所需的版本)。
但是有些情况下,这并不是实用的建议,例如您是否正在使用npm
从git中获取内容(因此您不能直接发出{{} 1}}命令)。在clone
的情况下,您可以将提交标识符(分支,标记,提交SHA等)添加到URL的末尾作为哈希片段。 (但 仅适用于npm
的AFAIK;它不会按照您提出的方式使用npm
。)
为了完整起见,如果确实只想克隆某个特定版本(只将该版本从远程复制到本地计算机),您可以执行类似
git clone
(其中git clone --depth 1 -b branch_name
是分支或标记的名称)。