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

kav*_*nga 4 git version-control release version github

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

jul*_*las 10

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

您创建一个开发分支

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
Run Code Online (Sandbox Code Playgroud)

你完成了你的功能

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

git pull origin develop
git checkout develop
git merge some-feature
git push
git branch -d some-feature
Run Code Online (Sandbox Code Playgroud)

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

您开始准备发布

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

git checkout -b release-0.1 develop
Run Code Online (Sandbox Code Playgroud)

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

你完成了发布

一旦发布准备发布,您将其合并到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
Run Code Online (Sandbox Code Playgroud)

您可以知道发布分支充当功能开发和公共发布之间的缓冲区.你最好合并一些东西master,你应该标记粉丝以便于参考:

git tag -a 0.1 -m "Initial public release" master
git push --tags
Run Code Online (Sandbox Code Playgroud)

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


int*_*ing 9

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

  1. Go(golang) GitHub 发布实现:https : //github.com/aktau/github-release

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