Git(bitbucket)创建备份版本

时间:2017-06-09 00:29:43

标签: git

我想知道标准程序是什么,以创建一个易于找到的git项目的稳定备份版本。理想情况下,没有必要通过git日志,找到某个版本并还原。理想情况下,将标记版本。我看到git(我正在使用bitbucket)允许创建分支,其中一些分支似乎有一个标签发布,因为它表明它是一个稳定的版本。分支出来并切换回主分支以进一步管理这个或者是否有更好的解决方案。我对git及其机制不是很熟悉,所以我很乐意接受一些关于良好约定的指示。

3 个答案:

答案 0 :(得分:2)

使用标签

您可以使用git-tag创建带有或不带注释的标签。 git tag --list会显示可用的标记,git-show可用于查看给定标记的注释。然后,您必须使用git push --tags或类似内容将标记推送到上游。出于大多数其他目的,您可以将标记视为选择提交的提交。例如:

git tag --annotate --message="Release message 1" release01
git push --tags origin
# code ...
# code ...
git tag --annotate --message="Release message 2" release02
git push --tags origin
# code ...
# code ...
git tag --list
git show release02
# code ...
git reset --hard release01

实际上,您几乎可以在任何可以使用提交ID的地方使用标记的名称。您可以使用它来重置分支,作为创建新分支的分支点,等等。

从标签下载档案

在Bitbucket,GitHub或GitLab等在线服务中,您创建的每个标记都会触发存档构建,您可以从标记/发布小部件下载zipfile或tarball。在Bitbucket中,您可以在以下位置导航到您的可用下载:

  

https://bitbucket.org/<username>/<repository>/downloads/?tab=tags

在Bitbucket中,您将看到一个屏幕,其中包含zip,gzip和bzip2格式的档案,用于项目中的每个标记。只需单击要下载的格式即可。

Figure: Bitbucket Tag Archives

这个存档功能对于大多数流行的在线Git主机来说很常见,但是存档的功能和导航可能会有所不同。要在本地创建存档,只需使用命令行中的git-archive即可。

答案 1 :(得分:1)

我相信会有其他人有更完整的答案,但这里有一些提示:

  • Git!= Bitbucket。 Git是版本控制系统,Bitbucket是一个git项目托管平台。您可以轻松使用托管在bitbucket,github,vps或本地计算机上的git存储库。 Bitbucket添加了一个很好的用户界面来查看“发布”等等,但它下面只是git。
  • 是的,标记和分支是主要用途:
    • 标记:git中的任何提交都可以被标记。然后可以将这些标签用作参考。您可以制作v1.1v1-stablev1-beta等标签来表示稳定版或测试版等。通常用于标记特定版本以用于各种目的(通常是版本)。
    • 分支:这些是提交的并行序列 - 许多项目使用类似稳定master分支的东西,其中提交仅在经过全面测试时合并到它,以及主要开发发生的dev分支。用于跟踪开发,尤其是在添加需要多次提交的新功能时,或尝试在master中尝试不同的内容时。
  • 您可以在计算机上“签出”任何提交,标记,分支等,这会将所有跟踪的文件设置为当时的状态。这意味着无论您使用何种分支/标记系统,您都可以随时恢复到所需的任何提交/标记/分支。
  • 看看其他项目如何管理这个。例如,rust project on GitHub。它们有多个分支(例如stablemasterbeta),并且标记了版本(例如1.0.0-beta1.5.0)。
  • 版本控制是一个很大的主题,没有一种“最佳”的方式来管理开发。我建议阅读它(一般是vcs,git给出的函数),环顾其他项目,最重要的是,自己跳入并尝试。迟早你会决定适合你或你项目的开发风格的工作流程,无论是标记,分支,其他功能,还是所有功能的组合。

答案 2 :(得分:0)

您可以添加标签并将其推送到遥控器:

git tag <tagname>
git push origin --tags

这将标记当前提交并将该新标记推送到您从中克隆的远程。签出特定分支或提交将允许您使用相同的机制标记它。如其他答案中所述,决定标记策略是完全不同的事情,但这是用于创建标记并分发标记的机制。