如何在GitHub中为公共或私有存储库创建版本?

时间:2016-07-30 15:59:15

标签: git github version-control version release

我有一个问题,如何在GitHub中的公共或私有存储库中创建发布?如何使用windows cmd或linux终端呢?那有什么特别的命令吗?

2 个答案:

答案 0 :(得分:8)

下面的示例显示了如何创建单个发布周期,首先您应该创建一个中央存储库,然后创建一个开发分支。

您创建了一个开发分支

git branch develop
git push -u origin develop

此分支包含项目的完整历史记录,而您的master包含新版本。您的团队现在应该克隆中央存储库并为开发创建跟踪分支。

您可以为开发

创建跟踪分支

git clone ssg: //user@/path/
git checkout -b develop origin/develop

现在每个人都有一个历史分支的本地副本。所以你决定制作一个新功能。为此,您可以根据您的开发分支为各自的功能创建单独的分支。

您开始使用新功能

git checkout -b some-feature develop

您可以根据需要将提交添加到功能分支,然后:

git status
git add <some-file>
git commit

您完成了自己的功能

添加新功能后,您确定您的功能已准备就绪,现在您可以将其合并到本地develop并将其推送到中央存储库,如下所示:

git pull origin develop
git checkout develop
git merge some-feature
git push
git branch -d some-feature

第一个命令确保在尝试合并功能之前,开发是最新的。请注意,功能不应直接合并到master

您开始准备发布

当其他人开发他的功能时,您可以开始准备项目的第一个正式release ,您可以使用新分支来封装发布准备。此步骤也是发布版本号的建立位置:

git checkout -b release-0.1 develop

这个分支是一个清理版本,测试所有内容,更新文档以及为即将发布的版本做任何其他准备的地方。它就像一个专门用于抛光发布的功能分支。

您完成了发布

一旦发布版本准备发布,您将其合并到master和develop,然后删除发布分支。重新合并回develop非常重要,因为可能已向发布添加了关键更新分支,他们需要可以访问新功能。像这样:

git checkout master
git merge release-0.1
git push
git checkout develop
git merge release-0.1
git push
git branch -d release-0.1

您可以知道发布分支充当功能开发和公共发布之间的缓冲区。你最好将某些内容合并到master中,你应该标记这个小提示以便于参考:

git tag -a 0.1 -m "Initial public release" master
git push --tags

如果您想要更好的解释,请访问以下链接:https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow

答案 1 :(得分:2)

版本是GitHub的一个功能,并不是通用git的功能(类似于其他Github额外功能,如问题和请求)。但是,人们已经创建了允许您从命令行创建GitHub版本的项目。以下是我能找到的一些内容:

  1. GitHub的Python实现发布:https://github.com/aktau/github-release

  2. JS实施GitHub发布:https://github.com/ungoldman/gh-release