如何为 public 或 GitHub 中的私有存储库创建版本?

How to create releases for public or private repository in GitHub?

我在如何在我们的 public 或 GitHub 的私有存储库中创建版本时遇到问题?如何使用 windows cmd 或 linux 终端来做到这一点?有什么特殊的命令吗?

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

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

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

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

你创建一个开发分支

git branch develop
git push -u origin develop

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

您为 develop 创建了一个跟踪分支

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

现在每个人都已经建立了历史分支的本地副本。所以你决定做一个新功能。为此,您为各自的功能创建单独的分支,并将 base 作为您的开发分支。

您开始一项新功能

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.

您开始准备发布

在别人开发他的feature的时候,你可以开始准备项目的第一个官方release ,你可以使用一个新的分支来封装发布准备。此步骤也是建立版本号的地方:

git checkout -b release-0.1 develop

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

您发布完毕

发布准备好发布后,您将其合并到 master 和 develop,然后删除发布 branch.It,重要的是合并回 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

您应该知道发布分支充当功能开发和 public 发布之间的缓冲区。每当您将某些内容合并到 master 中时,您应该标记提交以便于参考是个好主意:

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

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