Github CLI là gì

answer

Phạm Phương Nam · Phạm Phương Nam 14:20 11/03/2010

Bạn có thể tạo repo GitHub thông qua dòng lệnh bằng API GitHub. Kiểm tra API kho lưu trữ . Nếu bạn cuộn xuống khoảng một phần ba chặng đường, bạn sẽ thấy một phần có tên "Tạo" giải thích cách tạo repo thông qua API [ngay phía trên đó là phần giải thích cách rẽ nhánh repo với API, quá ]. Rõ ràng bạn không thể sử dụng gitđể làm điều này, nhưng bạn có thể làm điều đó thông qua dòng lệnh với một công cụ như thế nào curl.

Ngoài API, không có cách nào để tạo repo trên GitHub thông qua dòng lệnh. Như bạn đã lưu ý, GitHub không cho phép truy cập shell, v.v., nên ngoài API GitHub, cách duy nhất để tạo repo là thông qua giao diện web của GitHub.

200 hữu ích 5 bình luận chia sẻ

answer

Phạm Anh Thy · Phạm Anh Thy 23:38 25/04/2012

Các lệnh CLI cho github API v3 [thay thế tất cả các từ khóa CAPS]:

curl -u 'USER' //api.github.com/user/repos -d '{"name":"REPO"}' # Remember replace USER with your username and REPO with your repository/application name! git remote add origin :USER/REPO.git git push origin master

306 hữu ích 5 bình luận chia sẻ

answer

Huỳnh Trúc Ðào · Huỳnh Trúc Ðào 03:14 27/09/2011

Điều này có thể được thực hiện với ba lệnh:

curl -u 'nyeates' //api.github.com/user/repos -d '{"name":"projectname","description":"This project is a test"}' git remote add origin :nyeates/projectname.git git push origin master

[được cập nhật cho API Github v3]

Tạo repo github

curl -u 'nyeates' //api.github.com/user/repos -d '{"name":"projectname","description":"This project is a test"}'
  • curl là một lệnh unix [ở trên cũng hoạt động trên mac] để truy xuất và tương tác với các URL. Nó thường được cài đặt.
  • "-U" là một tham số curl chỉ định tên người dùng và mật khẩu sẽ sử dụng để xác thực máy chủ.
    • Nếu bạn chỉ cung cấp tên người dùng [như trong ví dụ ở trên], curl sẽ nhắc nhập mật khẩu.
    • Nếu bạn không muốn phải nhập mật khẩu, hãy xem tài liệu api của github về Xác thực
  • "-D" là một tham số curl cho phép bạn gửi dữ liệu POST với yêu cầu
    • Bạn đang gửi dữ liệu POST ở định dạng API được xác định bằng github
  • "Tên" là dữ liệu POST duy nhất được yêu cầu; Tôi cũng muốn bao gồm "mô tả"
  • Tôi thấy rằng thật tốt khi trích dẫn tất cả dữ liệu POST bằng dấu ngoặc đơn ''

Xác định nơi để đẩy đến

git remote add origin :nyeates/projectname.git
  • thêm định nghĩa cho vị trí và sự tồn tại của repo [từ xa] được kết nối trên github
  • "origin" là tên mặc định được sử dụng bởi git cho nguồn gốc từ đâu
    • về mặt kỹ thuật không đến từ github, nhưng bây giờ repo github sẽ là nguồn thu âm
  • ": nyeates" là kết nối ssh giả định rằng bạn đã thiết lập một khóa ssh đáng tin cậy với github.

Đẩy repo cục bộ đến github

git push origin master
  • đẩy đến nguồn gốc từ xa [github] từ nhánh cục bộ

64 hữu ích 0 bình luận chia sẻ

answer

Ngô Ngọc Hiển · Ngô Ngọc Hiển 18:20 13/11/2012

Nếu bạn cài đặt công cụ Hub tuyệt vời của defunkt , thì việc này trở nên dễ dàng như

git create

Theo lời của tác giả, " hub là trình bao bọc dòng lệnh cho git giúp bạn làm việc tốt hơn tại GitHub. "

50 hữu ích 5 bình luận chia sẻ

answer

Đỗ Kỳ Thiên · Đỗ Kỳ Thiên 19:13 03/08/2015

Các bước đơn giản [sử dụng git+ hub=> GitHub ]:

  1. Cài đặt Hub [ GitHub ].

    • HĐH X: brew install hub
    • có đi :go get github.com/github/hub
    • mặt khác [cũng có Go ]:

      git clone //github.com/github/hub.git && cd hub && ./script/build

  2. Chuyển đến repo của bạn hoặc tạo một cái trống : mkdir foo && cd foo && git init.

  3. Chạy : hub create, nó sẽ hỏi bạn về thông tin đăng nhập GitHub lần đầu tiên.

    Sử dụng: hub create [-p] [-d DESCRIPTION] [-h HOMEPAGE] [NAME]

    Thí dụ: hub create -d Description -h example.com org_name/foo_repo

    Hub sẽ nhắc nhập tên người dùng và mật khẩu GitHub vào lần đầu tiên cần truy cập API và trao đổi nó với OAuthmã thông báo mà nó lưu vào ~/.config/hub.

    Để đặt tên rõ ràng cho kho lưu trữ mới, hãy chuyển vào NAME, tùy chọn ORGANIZATION/NAMEdưới dạng để tạo theo một tổ chức mà bạn là thành viên.

    Với -p, tạo một kho lưu trữ riêng, và với -dvà -hthiết lập mô tả và trang chủ của kho lưu trữ URL, tương ứng.

    Để tránh bị nhắc nhở, sử dụng GITHUB_USERvà GITHUB_PASSWORDcác biến môi trường.

  4. Sau đó cam kết và đẩy như bình thường hoặc kiểm tra hub commit/ hub push.

Để được trợ giúp thêm, hãy chạy : hub help.

Xem thêm: Nhập kho lưu trữ Git bằng dòng lệnh tại GitHub.

14 hữu ích 3 bình luận chia sẻ

answer

Hoàng Nhã Anh · Hoàng Nhã Anh 04:36 08/04/2011

Có một viên ngọc github chính thức , theo tôi nghĩ, nó làm được điều này. Tôi sẽ cố gắng thêm thông tin khi tôi tìm hiểu, nhưng tôi mới chỉ khám phá ra viên ngọc này, vì vậy tôi chưa biết nhiều.

CẬP NHẬT: Sau khi thiết lập khóa API, tôi có thể tạo một repo mới trên github thông qua createlệnh, tuy nhiên tôi không thể sử dụng create-from-locallệnh, được cho là lấy repo cục bộ hiện tại và tạo một điều khiển từ xa tương ứng trên github.

$ gh create-from-local => error creating repository

Nếu bất cứ ai có cái nhìn sâu sắc về điều này, tôi rất muốn biết những gì tôi đang làm sai. Đã có một vấn đề được đệ trình .

CẬP NHẬT: Cuối cùng tôi đã làm điều này để làm việc. Tôi không chắc chắn làm thế nào để tái tạo vấn đề, nhưng tôi chỉ bắt đầu từ đầu [đã xóa thư mục .git]

git init git add .emacs git commit -a -m "adding emacs"

Bây giờ dòng này sẽ tạo ra repo từ xa và thậm chí đẩy nó, nhưng thật không may, tôi không nghĩ rằng tôi có thể chỉ định tên của repo tôi muốn. Tôi muốn nó được gọi là "dotfiles" trên github, nhưng gh gem chỉ sử dụng tên của thư mục hiện tại, đó là "jason" kể từ khi tôi ở trong thư mục nhà. [Tôi đã thêm một vé yêu cầu hành vi mong muốn]

gh create-from-local

Mặt khác, lệnh này chấp nhận một đối số để chỉ định tên của repo từ xa, nhưng nó dự định bắt đầu một dự án mới từ đầu, tức là sau khi bạn gọi lệnh này, bạn sẽ nhận được một repo từ xa mới theo dõi một repo cục bộ trong thư mục con mới được tạo liên quan đến vị trí hiện tại của bạn, cả hai đều có tên được chỉ định làm đối số.

gh create dotfiles

11 hữu ích 1 bình luận chia sẻ

answer

Hoàng Dạ Thi · Hoàng Dạ Thi 05:53 05/01/2015

Thật khó để nhập mã hoàn chỉnh mỗi khi tạo kho lưu trữ

curl -u 'USER' //api.github.com/user/repos -d '{"name":"REPO"}' git remote add origin :USER/REPO.git git push origin master

Một cách tiếp cận dễ dàng hơn là:

  1. tạo tập lệnh shell trong thư mục tức là / home / USER_NAME / Desktop / my_scripts có tên githubscript.sh
  2. Sửa đổi và lưu mã sau vào githubscript.shtệp
#!bin/bash curl -u 'YOUR_GITHUB_USER_NAME' //api.github.com/user/repos -d "{\"name\":\"$1\"}"; git init; git remote add origin :YOUR_GITHUB_USER_NAME/$1.git;

NB Đây $1là repository namecái được thông qua argumentkhi gọiscript Thay đổi YOUR_GITHUB_USER_NAMEtrước khi lưu tập lệnh.

  1. Đặt quyền yêu cầu cho scripttệp chmod 755 githubscript.sh

  2. Bao gồm các thư mục script trong tập tin cấu hình môi trường. nano ~/.profile; export PATH="$PATH:$HOME/Desktop/my_scripts"

  3. Đồng thời đặt bí danh để chạy tệp githubcript.sh. nano ~/.bashrc; alias githubrepo="bash githubscript.sh"

  4. Bây giờ tải lại .bashrcvà .profilecác tập tin trong thiết bị đầu cuối. source ~/.bashrc ~/.profile;

  5. Bây giờ để tạo một kho lưu trữ mới, tức là demo: githubrepo demo;

9 hữu ích 2 bình luận chia sẻ

answer

Đỗ Tuấn Ngọc · Đỗ Tuấn Ngọc 19:27 15/12/2013

Đối với người dùng có xác thực hai yếu tố, bạn có thể sử dụng giải pháp của bennedich, nhưng bạn chỉ cần thêm tiêu đề X-Github-OTP cho lệnh đầu tiên. Thay CODE bằng mã mà bạn nhận được từ nhà cung cấp xác thực hai yếu tố. Thay thế USER và REPO bằng tên người dùng và tên của kho lưu trữ, như bạn sẽ làm trong giải pháp của anh ấy.

curl -u 'USER' -H "X-GitHub-OTP: CODE" -d '{"name":"REPO"}' //api.github.com/user/repos git remote add origin :USER/REPO.git git push origin master

4 hữu ích 0 bình luận chia sẻ

answer

Lê Nhật Quang · Lê Nhật Quang 17:09 03/02/2017

Không, bạn phải mở trình duyệt ít nhất một lần để tạo usernametrên GitHub, một khi được tạo, bạn có thể tận dụng API GitHub để tạo kho lưu trữ từ dòng lệnh, theo lệnh dưới đây:

curl -u 'github-username' //api.github.com/user/repos -d '{"name":"repo-name"}'

Ví dụ:

curl -u 'arpitaggarwal' //api.github.com/user/repos -d '{"name":"command-line-repo"}'

4 hữu ích 1 bình luận chia sẻ

answer

Dương Ðức Tuấn · Dương Ðức Tuấn 20:19 02/02/2013

Tôi đã viết một tập lệnh tiện lợi cho cái này được gọi là Gitter bằng cách sử dụng API REST cho GitHub và BitBucket:

//github.com/dderiso/gitter

Cai Xô nhỏ:

gitter -c -r b -l javascript -n node_app

GitHub:

gitter -c -r g -l javascript -n node_app
  • -c = tạo repo mới
  • -r = nhà cung cấp repo [g = GitHub, b = BitBucket]
  • -n = đặt tên cho repo
  • -l = [tùy chọn] đặt ngôn ngữ của ứng dụng trong repo

3 hữu ích 0 bình luận chia sẻ

answer

Hoàng Ngọc Cảnh · Hoàng Ngọc Cảnh 04:03 27/05/2013

Tôi đã tạo một bí danh Git để làm điều này, dựa trên câu trả lời của Bennedich . Thêm phần sau vào ~/.gitconfig:

[github] user = "your_github_username" [alias] ; Creates a new Github repo under the account specified by github.user. ; The remote repo name is taken from the local repo's directory name. ; Note: Referring to the current directory works because Git executes "!" shell commands in the repo root directory. hub-new-repo = "!python3 -c 'from subprocess import *; import os; from os.path import *; user = check_output[[\"git\", \"config\", \"--get\", \"github.user\"]].decode[\"utf8\"].strip[]; repo = splitext[basename[os.getcwd[]]][0]; check_call[[\"curl\", \"-u\", user, \"//api.github.com/user/repos\", \"-d\", \"{{\\\"name\\\": \\\"{0}\\\"}}\".format[repo], \"--fail\"]]; check_call[[\"git\", \"remote\", \"add\", \"origin\", \":{0}/{1}.git\".format[user, repo]]]; check_call[[\"git\", \"push\", \"origin\", \"master\"]]'"

Để sử dụng nó, hãy chạy

$ git hub-new-repo

từ bất cứ nơi nào trong kho lưu trữ cục bộ và nhập mật khẩu Github của bạn khi được nhắc.

3 hữu ích 3 bình luận chia sẻ

answer

Bùi Kim Mai · Bùi Kim Mai 00:26 24/04/2014

Dành cho người chơi Ruby:

gem install githubrepo githubrepo create *reponame*

nhập tên người dùng và pw như được nhắc

git remote add origin *ctrl v* git push origin master

Nguồn: Elikem Adadevoh

3 hữu ích 0 bình luận chia sẻ

answer

Bùi Hồng Mai · Bùi Hồng Mai 07:19 08/03/2015

Dựa trên câu trả lời khác của @M Cơ Ốc, ngoại trừ việc không sử dụng trăn, điều mà tôi thấy là quá mức cần thiết. Thêm phần này vào ~/.gitconfig:

[github] user = "your-name-here" [alias] hub-new-repo = "!REPO=$[basename $PWD] GHUSER=$[git config --get github.user]; curl -u $GHUSER //api.github.com/user/repos -d {\\\"name\\\":\\\"$REPO\\\"} --fail; git remote add origin :$GHUSER/$REPO.git; git push origin master"

3 hữu ích 2 bình luận chia sẻ

answer

Ngô Duy Công · Ngô Duy Công 14:33 04/10/2012

Để biết hướng dẫn về cách tạo mã thông báo, hãy truy cập vào đây Đây là lệnh bạn sẽ nhập [kể từ ngày trả lời này. [Thay thế tất cả các từ khóa CAPS]:

curl -u 'YOUR_USERNAME' -d '{"scopes":["repo"],"note":"YOUR_NOTE"}' //api.github.com/authorizations

Khi bạn nhập mật khẩu, bạn sẽ thấy phần sau chứa mã thông báo của bạn.

{ "app": { "name": "YOUR_NOTE [API]", "url": "//developer.github.com/v3/oauth/#oauth-authorizations-api" }, "note_url": null, "note": "YOUR_NOTE", "scopes": [ "repo" ], "created_at": "2012-10-04T14:17:20Z", "token": "xxxxx", "updated_at": "2012-10-04T14:17:20Z", "id": xxxxx, "url": "//api.github.com/authorizations/697577" }

Bạn có thể thu hồi mã thông báo của mình bất cứ lúc nào bằng cách vào đây

2 hữu ích 0 bình luận chia sẻ

answer

Tạ Dạ Lan · Tạ Dạ Lan 07:50 24/03/2014

Những gì bạn cần là trung tâm . Hub là một trình bao bọc dòng lệnh cho git. Nó đã được thực hiện để tích hợp với git bản địa bằng cách sử dụng bí danh. Nó cố gắng cung cấp các hành động github vào git bao gồm cả việc tạo kho lưu trữ mới.

→ create a repo for a new project $ git init $ git add . && git commit -m "It begins." $ git create -d "My new thing" → [creates a new project on GitHub with the name of current directory] $ git push origin master

2 hữu ích 0 bình luận chia sẻ

answer

Ngô Nguyên Hùng · Ngô Nguyên Hùng 04:59 23/09/2014

Vì lý do đại diện, tôi không thể thêm nhận xét này dưới dạng nhận xét [nơi tốt hơn nên đi với câu trả lời của bennedich ], nhưng đối với dòng lệnh Windows, đây là cú pháp chính xác:

curl -u YOU_USERNAME //api.github.com/user/repose -d "{\" name \ ": \" YOU_REPO_NAME \ "}"

Đó là dạng cơ bản giống nhau, nhưng bạn phải sử dụng dấu ngoặc kép ["] thay vì dấu ngoặc đơn và thoát dấu ngoặc kép được gửi trong tham số POST [sau cờ -d] bằng dấu gạch chéo ngược. Tôi cũng xóa dấu ngoặc đơn quanh tên người dùng của mình, nhưng nếu tên người dùng của bạn có một khoảng trắng [có thể?] thì có lẽ sẽ cần dấu ngoặc kép.

2 hữu ích 2 bình luận chia sẻ

answer

Hoàng Hà Liên · Hoàng Hà Liên 09:43 19/12/2016

Đối với tất cả người dùng Python 2.7. *. Có một trình bao bọc Python xung quanh API Github hiện có trên Phiên bản 3, được gọi là GitPython . Đơn giản chỉ cần cài đặt bằng cách sử dụng easy_install PyGithubhoặc pip install PyGithub.

from github import Github g = Github[your-email-addr, your-passwd] repo = g.get_user[].user.create_repo["your-new-repos-name"] # Make use of Repository object [repo]

Các Repositorytài liệu đối tượng ở đây .

2 hữu ích 0 bình luận chia sẻ

answer

Bùi Hoàng Ngôn · Bùi Hoàng Ngôn 16:31 07/01/2018

Disclamier: Tôi là tác giả của dự án nguồn mở

Chức năng này được hỗ trợ bởi: //github.com/chrissound/Human-Friendly-Commands về cơ bản đó là tập lệnh này:

#!/usr/bin/env bash # Create a repo named by the current directory # Accepts 1 STRING parameter for the repo description # Depends on bin: jq # Depends on env: GITHUB_USER, GITHUB_API_TOKEN github_createRepo[] { projName="$[basename "$PWD"]" json=$[jq -n \ --arg name "$projName" \ --arg description "$1" \ '{"name":$name, "description":$description}'] curl -u "$GITHUB_USER":"$GITHUB_API_TOKEN" //api.github.com/user/repos -d "$json" git init git remote add origin :"$GITHUB_USER"/"$projName".git git push origin master };

2 hữu ích 1 bình luận chia sẻ

answer

Lê Hoàng Thảo · Lê Hoàng Thảo 17:03 22/09/2017

Tìm thấy giải pháp này mà tôi thích: //medium.com/@jakehasler/how-to-create-a-remote-git-repo-from-the-command-line-2d6857f49564

Trước tiên bạn cần tạo Mã thông báo truy cập cá nhân Github

Mở ~ / .bash_profile hoặc ~ / .bashrc trong trình soạn thảo văn bản yêu thích của bạn. Thêm dòng sau gần đầu tệp của bạn, trong đó phần còn lại của biến ed xuất là:

export GITHUB_API_TOKEN=

Ở đâu đó bên dưới, bằng các hàm bash khác của bạn, bạn có thể dán một cái gì đó tương tự như sau:

function new-git[] { curl -X POST //api.github.com/user/repos -u :$GITHUB_API_TOKEN -d '{"name":"'$1'"}' }

Bây giờ, bất cứ khi nào bạn đang tạo một dự án mới, bạn có thể chạy lệnh $ new-git awesome-repođể tạo một kho lưu trữ từ xa công khai mới trên tài khoản người dùng Github của bạn.

0 hữu ích 0 bình luận chia sẻ

answer

Ngô Xuân Lộc · Ngô Xuân Lộc 14:38 28/04/2014

đây là lệnh git ban đầu của tôi [có thể, hành động này diễn ra trong C:/Documents and Settings/your_username/]:

mkdir ~/Hello-World # Creates a directory for your project called "Hello-World" in your user directory cd ~/Hello-World # Changes the current working directory to your newly created directory touch blabla.html # create a file, named blabla.html git init # Sets up the necessary Git files git add blabla.html # Stages your blabla.html file, adding it to the list of files to be committed git commit -m 'first committttt' # Commits your files, adding the message git remote add origin //github.com/username/Hello-World.git # Creates a remote named "origin" pointing at your GitHub repository git push -u origin master # Sends your commits in the "master" branch to GitHub

1 hữu ích 1 bình luận chia sẻ

answer

Hoàng Duy Cường · Hoàng Duy Cường 19:33 08/04/2016

Gần đây tôi đã tìm ra về tạo-github-repo . Từ bài đọc:

Cài đặt, dựng lên:

$ npm i -g create-github-repo

Sử dụng:

$ export CREATE_GITHUB_REPO_TOKEN= $ create-github-repo --name "My coolest repo yet!"

Hoặc là:

$ create-github-repo --name "My coolest repo yet!"

1 hữu ích 1 bình luận chia sẻ

Video liên quan

Chủ Đề