githubrelease是一个cli,用于轻松管理github版本、资产和引用

githubrelease的Python项目详细描述


#githubrelease

[![构建状态](https://img.shields.io/travis/j0057/github-release.svg?maxage=2592000)"(https://travis ci.org/j0057/github release)

从桌面上传到github。
>;
>;将文件从github下载到桌面,然后将其scp到服务器也很糟糕。
>;
>;这东西在ssh会话中运行得很好。
>;
>;--<;cite>;@j0057,2014年8月13日星期三<;/cite>;


hubrelease release jcfr/sandbox publish 1.0.0


或者甚至从python中:

`` python
从github发布导入ghu发布创建你可能应该研究像[github3py](http://github3py.readthedocs.io/en/latest/)或
[pygithub](https://github.com/pygithub/pygithub)*


*[安装](安装)
*[配置](配置)
*[使用cli](使用cli)
*[释放命令](释放命令)
*[资产命令](资产命令)
*[参考命令](参考命令)
*[使用模块](使用模块)
*[测试ng](测试)
*[维护人员:如何发布?](维护者-如何制作-发布-
*[许可证](许可证)

<;!--
*由[gh md toc]创建(https://github.com/ekalin/github markdown toc)*
-->;

\features

*创建发行版、预发行版或草稿发行版
*更新任何发行版元数据,包括引用的提交
*支持通配符表达式(或通配符表达式列表):
*用于上传或下载资产
*用于选择性删除资产
*报告下载和上传进度
*允许从版本中删除单个资产
*如果服务器出现故障,请重试上传
*使用无效资产(具有*new*stat的e)
*通过"github_token"环境变量或`~/.netrc`文件进行身份验证
*纯python,仅取决于[请求](http://docs.python-requests.org/en/master/)和[单击](http://pocco click.readthedocs.io)


d来自[pypi](https://pypi.python.org/pypi/github release)使用:

``bash
pip install githubrelease
````


bleeding-edge版本可以使用:

``bash
`pip intall githubrelease-f https://github.com/j0057/github release/releases/tag/latest
```

#首先配置

,[生成新令牌](https://help.github.com/articles/creating an access token for command line use)。它至少应该具有"repo"作用域。

然后,有三个选项:

*设置"github令牌"环境变量:

``bash
export github令牌=您的令牌
/path/to/command
````

*传递`--github令牌``cli参数。例如:

``` bash
$github release--github token--预发行版1.0
```


*将密钥放入`~/.netrc`,该模式应为0600(`-rw--`):

``````
machine api.github.com
登录您的令牌
password x-oauth-basic

machine uploads.github.com
登录您的令牌
password x-oauth-basic
```

应该用生成的令牌替换``您的`令牌`。

使用cli

包安装一个名为``githubrelease``的cli。

`` bash
$githubrelease
用法:githubrelease[options]command[args]…

资源和引用。

选项:
--github令牌文本[默认值:github_token env。变量]
--进度/--无进度显示进度条(默认:是)。
--帮助显示此消息并退出。


命令:
资产管理发布资产(上载、下载…)。
引用管理引用(列表、创建、删除…)。
rel轻松管理发布(列表、创建、删除…)。


运行"github release command--help"获取有关命令的详细信息。
````

*对于向后兼容,它还安装"github release"和"github asset`*

``release``命令

此命令处理租约。一般用法是:

``bash
githubrelease release username/reponame command[tag][options]
```

>它理解以下命令:

——
list list all releases
info tagname list one release
create tagname[选项]创建一个release
编辑标记名[选项]|编辑发布
删除标记名删除发布
发布标记名[--prerelease]公开发布
取消发布标记名[--prerelease]制作发布草稿
发布说明标记名me使用$editor编辑发行说明

**可选参数:**

*创建:

`` bash
--名称
--正文
--发布
--预发行
--目标委员会
[资产委员会模式]…
`````

*编辑:

``bash
--tag name tag_name
--target_commitish
--name
--body
--draft/--publish
--prerelease/--release
--dry run
--verbose
````


一般用法是:

``bash
githubrelease asset username/reponame command[tag][filename][options]
````

---|——————————————————————————————————————————————————————————————————————————————————————|将文件上载到发行版
下载将所有发行版中的所有文件下载到当前目录
下载标记名将所有文件从发行版下载到当前目录
下载标记名me filename将文件下载到当前目录
删除标记名filename[选项]从版本中删除文件



**可选参数:**

*删除:

`` bash
--保持模式r/>```



**备注:**


指定文件名时,她支持通配符,但请确保使用单引号引用,即不要让shell扩展通配符模式。

*/home/me/pkg中的文件
$githubrelease asset octocat/example project upload 1.4'/home/me/pkg/example-project-1.4*'

elease asset octocat/example project download 1.4

一般用法是:

``bash
githubrelease ref username/reponame command[options]
````

它理解以下命令:

———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————n[--tags][--keep pattern keep_pattern]使用模块


函数名都遵循这种模式:

```
gh`<;command>;
```


每个函数接受的参数也反映了命令行
接口。通常的签名是:

``python
gh<;command>name=none,publish=false,prerelease=false,target\commitish=none):
````


每个参数或选项的类型通常可以从其名称推断出来。如果没有,请考虑查看[github_release.py](https://github.com/j0057/github release/blob/update readme/github_release.py)。


``````
repo-name->;str
tag-name->;str
name->;str
publish->;bool
prerelease->;bool
目标承诺-str
```

OM fork已提交。实际上,重置和更新[github release bot/github-release-test-py2](https://github.com/github release bot/github-release-test-py2)和[github release bot/github-release-test-py3](https://github.com/github-release-bot/github-release-tes)需要设置"github-token"t-py3)。

ourname/github release test``
*execute``python setup.py test`


要执行特定的测试,还可以执行以下操作:

``bash
export github令牌=您的令牌TE::TESt嫒create嫒release嫒br/>````


向前发展,计划利用像[betamax]这样的工具(http://betamax.readthedocs.io)
,允许拦截发出的每一个请求,并试图找到已被拦截和记录的匹配请求。如何发布?

1.按[此处]所述配置`~/.pypirc'(https://packaging.python.org/distributing/将项目上载到pypi)。

2.确保cli和模块按预期工作。

3.选择下一版本号:

``bash
release="x.y.z"
````

>4。查看[changes.md](https://github.com/j0057/github release/blob/master/readme.md),将*next release*替换为*x.y.z*,提交并推送。考虑在提交消息中使用"[ci skip]:

``bash
sed-i-e"s/next release/${release}/"更改。md
sed-i-e"s/====/=/=/"更改。md
git add changes.md
git commit-m"changes.md:将"${release}"替换为"${release}"

[ci ski"p]
"
```

检查提交,然后推送:

```bash
git push origin master
```

>5。标记释放。需要一个带有签名的gpg密钥:

``bash
git tag-s-m"githubrelease${release}"${release}origin/master
````

``bash
git push origin${release}
```

>6。创建源tarball和二进制轮:

``` bash
rm-rf dist/
python setup.py sdist bdist_wheel
```

7。将包上载到测试pypi实例:

```bash
tween upload--sign-r pypitest dist/*
```

8。查看[pypi测试包页面](https://testpypi.python.org/pypi/githubrelease/)。

9。将包上载到pypi实例::

``bash
tween upload--sign dist/*
```

>10。查看[pypi包页面](https://pypi.python.org/pypi/githubrelease/)。

11。创建一个虚拟环境,并确保可以安装包:

`` bash
mkvirtualenv test githubrelease install
pip install githubrelease
```

12。创建github release并上载包:

``` bash
export github\u token=your\token
githubrelease release j0057/github release create${release}--name${release}--publish./dist/*
```

13。通过复制changes.md

``bash
export editor=vim
github release release j0057/github release release notes${release}
```

>14更新发行说明。清理

`` bash
停用
rmvirtualenv test githubrelease install
````


```` bash
sed-i'1i下一版本\n======\n'更改。md
git add changes.md
git commit-m"begin${release}development

*changes.md:add \"next release\"部分

[ci skip]
"
git push origin master
````

\faq

*为什么我会得到一个``requests.exceptions.httperror:401客户端错误:未经授权的url https://api.github.com/repos/..```?

这可能意味着您指定的github令牌无效。



0:

http://www.apache.org/licenses/license-2.0


2017-02-12版本0393859中添加了许可文件,但您可以
认为许可也适用于所有以前的版本。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何在Eclipse中设置Java路径,以便在外部驱动器上运行它?   在windows上使用Java服务包装器GUI与桌面交互   java是与此字符序列不匹配的正则表达式   java无法使用kafka管理客户端API创建具有所需分区的kafka主题   java基于单个单元格值获取整个excel行   当使用Spring的构造函数注入时,java bean是否在构造函数中完全初始化?   java重置LineNumberReader的计数器   将字符串从Java文件传递到jQuery   安卓在来自不同Java类文件的活动中祝酒   java在使用mvvm时如何在zk中更新progressmeter   使用regex获取由“”Java包围的值   使用tester类的java猜谜游戏   api响应的java POJO,其密钥为“”   java正则表达式,用于匹配长度大于n的字母和数字字符串?   java如何使用Json保存和恢复RecyclerView项的位置   在Java中用字符代码替换字符串   Jenkins中的java PermGen错误   java swing panel问题   boolean在Java中,false如何可能等于true   java如何使用Servlet从HTML表单中检索“分组”项?