我有一个问题,如何在GitHub中的公共或私有存储库中创建发布?如何使用windows cmd或linux终端呢?那有什么特别的命令吗?
答案 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版本的项目。以下是我能找到的一些内容:
GitHub的Python实现发布:https://github.com/aktau/github-release
JS实施GitHub发布:https://github.com/ungoldman/gh-release