如何在命令行上创建要点

How to create a gist on command line

我正在尝试从 bash 创建一个要点,并且我已经尝试了很多我可以获得的版本脚本,但是 none 正在工作。

这似乎是正确的,但它也不起作用。

curl -X POST -d '{"public":true,"files":{"test.txt":{"content":"String file contents"}}}' https://api.github.com/gists

我有一个 test.txt 文件,其中包含我想创建要点的内容,但它不起作用。它说,invalid email,如果我尝试添加 -u USER-u USER:PASS 它仍然不会工作说 "message": "Problems parsing JSON", ..

我不知道怎么了。 documentation 除了这一行之外没有提供太多内容:

POST /gists as you can see, I am passing the test.txt file.

我刚试过

curl -X POST -d '{"public":true,"files":{"test.txt":{"content":"String file contents"}}}' -u mgarciaisaia:mypassword https://api.github.com/gists

成功了:https://gist.github.com/mgarciaisaia/fa51238073eb2cf508aa

我没有发现你的命令有任何问题。

我发现 https://www.npmjs.com/package/gistup and fork the repository to https://github.com/CrandellWS/mkg 有同样的愿望,因为开发人员不想支持当时正在使用的操作系统 Windows。所以我重新设计了 npm 包以在 windows 以及 linux 和 apple 上工作...

GitHub 上提供了完整的源代码: https://github.com/CrandellWS/mkg

使用 npm 安装很简单

npm install -g mkg

在 npmjs 包页面上描述了使用: https://www.npmjs.com/package/gistup

安装完成后 cd 您要从中创建要点的每个目录...(请记住没有包含 Gist 的子文件夹)

和运行命令:

mkg

它会在浏览器中打开您的新要点...此外,您可以从那里像普通 git 一样控制它...只是没有子文件夹...

这个问题是旧问题,所以我不确定它是否仍然相关。

在 Ubuntu 上(至少在 18.04 上),您可以尝试 gist 包,它将安装您可以使用的 gist-paste 命令(前提是您有 git 帐户已经)如下:

1) 获取要点 OAuth2 令牌(它将使用令牌创建一个 ~/.gist 文件)。你只需要做一次:

$ gist-paste --login

然后,您可以发送您的文件,例如:

$ gist-paste your-file.txt
$ cat .emacs.d/init.el | gist-paste -t el

有很多选项:您可以发送文件 type/description(如上面第二个示例)、删除要点、在浏览器中打开要点等...参见 gist-paste(1) 或尝试 gist-paste --help.

如果你已经有一个gist token,你不需要运行 gist-paste --login,只需将你的~/.gitconfigoauth-token复制到~/.gist ]. 例如,如果您在 ~/.gitconfig:

[github]
    oauth-token = foobar123

只需创建一个 ~/.gist 文件,其中一行包含 "foobar123".

[编辑]如果你的发行版没有提供包,项目页面是: https://github.com/defunkt/gist

我刚开始使用 http://defunkt.io/gist,它让事情变得非常简单:

# upload string to file
gist -f test.txt <<< "hello string"

# upload a file
gist test.txt

最近GitHub CLI 发布。 所以你现在可以改用它了。

只需将它安装到您的系统 (https://github.com/cli/cli#installation)

认证(很简单)

gh auth login

登录后,您可以通过以下方式简单地创建一个新要点:

gh gist create -d "my test gist" -f some_local_file.txt  test_gist

有关更多详细信息,您可以使用帮助:

gh <command> <subcommand> --help

截至 September 2020, creating gists is one of the features of GitHub's official command line tool gh

例如,在 MacOS 上:

brew install gh
gh auth login  # Follow steps.
gh gist create myfile.txt  # Creates a private gist.

有更多选项可用。 gh gist create --help 给出:

Create a new GitHub gist with given contents.

Gists can be created from one or multiple files. Alternatively, pass "-" as
file name to read from standard input.

By default, gists are private; use '--public' to make publicly listed ones.


USAGE
  gh gist create [<filename>... | -] [flags]

FLAGS
  -d, --desc string       A description for this gist
  -f, --filename string   Provide a filename to be used when reading from STDIN
  -p, --public            List the gist publicly (default: private)

INHERITED FLAGS
  --help   Show help for command

EXAMPLES
  # publish file 'hello.py' as a public gist
  $ gh gist create --public hello.py

  # create a gist with a description
  $ gh gist create hello.py -d "my Hello-World program in Python"

  # create a gist containing several files
  $ gh gist create hello.py world.py cool.txt

  # read from standard input to create a gist
  $ gh gist create -

  # create a gist from output piped from another command
  $ cat cool.txt | gh gist create

LEARN MORE
  Use 'gh <command> <subcommand> --help' for more information about a command.
  Read the manual at https://cli.github.com/manual