如何在命令行上创建一个要点

时间:2015-12-02 16:44:28

标签: github github-api gist

我正在尝试用bash创建一个要点,我尝试了很多可以获得的版本脚本,但没有一个正在运行。

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

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   如您所见,我正在传递test.txt文件。

6 个答案:

答案 0 :(得分:6)

最近发布了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

答案 1 :(得分:5)

我刚试过

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

我的命令中没有任何问题。

答案 2 :(得分:4)

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

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

# upload a file
gist test.txt

答案 3 :(得分:3)

我有同样的愿望,我发现https://www.npmjs.com/package/gistup并将存储库分叉到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,您想要从中获取要点的每个目录......(请记住,没有带有Gists的子文件夹)

并运行命令:

mkg

它将在broswer中打开你的新要点...另外你将能够像那里的普通git一样控制它......只是没有子文件夹......

答案 4 :(得分:3)

这个问题很旧,所以我不确定它是否仍然有用。

在Ubuntu上(至少在18.04上),您可以尝试使用gist软件包,该软件包将安装您可以使用的gist-paste命令(如果已经具有git帐户),如下所示:< / p>

1)获取gist OAuth2令牌(它将使用该令牌创建〜/ .gist文件)。您只需要执行一次:

$ gist-paste --login

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

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

有很多选项:您可以发送文件类型/描述(如上面的第二个示例所示),删除要点,在浏览器中打开要点等...请参见gist-paste(1)或尝试使用gist-paste --help

如果您已经拥有要旨令牌,则无需运行gist-paste --login,只需将~/.gitconfig的{​​{1}}复制到oauth-token。 例如,如果您在~/.gist中:

~/.gitconfig

只需创建一个[github] oauth-token = foobar123 文件,其中一行包含“ foobar123”。

[编辑]如果您的发行版不提供软件包,则项目页面为: https://github.com/defunkt/gist

答案 5 :(得分:1)

September 2020开始,创建要点是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