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