การบูรณาการอย่างเป็นทางการสำหรับ GitHub และ GitHub Enterprise
gitsome
?แม้ว่าบรรทัดคำสั่ง Git มาตรฐานจะเป็นเครื่องมือที่ยอดเยี่ยมในการจัดการ repos ที่ขับเคลื่อนด้วย Git ของคุณ แต่ก็อาจเป็น เรื่องยากที่จะจดจำการใช้ :
บรรทัดคำสั่ง Git ไม่ได้ทำงานร่วมกับ GitHub ทำให้คุณต้องสลับระหว่างบรรทัดคำสั่งและเบราว์เซอร์
gitsome
- CLI Git/GitHub ที่อัดแน่นไปด้วยการเติมข้อความอัตโนมัติ gitsome
มีเป้าหมายที่จะเพิ่มพลังให้กับอินเทอร์เฟซ git/shell มาตรฐานของคุณโดยเน้นที่:
เวิร์กโฟลว์ GitHub บางส่วนอาจไม่ทำงานได้ดีในเทอร์มินัล gitsome
กำหนดเป้าหมายผู้ที่ทำ
gitsome
มีคำสั่งรวม 29 GitHub ที่ใช้ได้กับเชลล์ ทั้งหมด :
$ gh <command> [param] [options]
เรียกใช้คำสั่ง gh
พร้อมกับคำสั่ง Git-Extras และฮับเพื่อปลดล็อกการรวม GitHub มากยิ่งขึ้น!
คุณสามารถรันเชลล์ เสริมได้ :
$ gitsome
เพื่อเปิดใช้งาน การเติมข้อความอัตโนมัติ และ ความช่วยเหลือแบบโต้ตอบ สำหรับสิ่งต่อไปนี้:
gitsome
เติมข้อความอัตโนมัติต่อไปนี้:
หากต้องการเปิดใช้งานการเติมข้อความอัตโนมัติเพิ่มเติม โปรดดูส่วนการเปิดใช้งาน Bash Completions
gitsome
รองรับคำแนะนำอัตโนมัติแบบ Fish ใช้ปุ่ม right arrow
เพื่อกรอกคำแนะนำ
gitsome
ขับเคลื่อนโดย xonsh
ซึ่งรองรับ Python REPL
รันคำสั่ง Python ควบคู่ไปกับคำสั่งเชลล์:
คุณสมบัติ xonsh
เพิ่มเติมสามารถพบได้ใน xonsh tutorial
gitsome
ติดตามคำสั่งที่คุณป้อนและเก็บไว้ใน ~/.xonsh_history.json
ใช้ปุ่มลูกศรขึ้นและลงเพื่อวนดูประวัติคำสั่ง
คุณสามารถควบคุมสี ansi ที่ใช้สำหรับไฮไลต์ได้โดยอัปเดตไฟล์ ~/.gitsomeconfig
ของคุณ
ตัวเลือกสีได้แก่:
'black', 'red', 'green', 'yellow',
'blue', 'magenta', 'cyan', 'white'
หากไม่มีสี ให้ตั้งค่าเป็น None
white
อาจปรากฏเป็นสีเทาอ่อนบนขั้วต่อบางอัน
gitsome
พร้อมใช้งานสำหรับ Mac, Linux, Unix, Windows และ Docker
เวิร์กโฟลว์ GitHub บางส่วนอาจไม่ทำงานได้ดีในเทอร์มินัล
gitsome
กำหนดเป้าหมายผู้ที่ทำ
gitsome
เพิ่งเริ่มต้น รู้สึกอิสระที่จะมีส่วนร่วม!
gh configure
gh create-comment
gh create-issue
gh create-repo
gh emails
gh emojis
gh feed
gh followers
gh following
gh gitignore-template
gh gitignore-templates
gh issue
gh issues
gh license
gh licenses
gh me
gh notifications
gh octo
gh pull-request
gh pull-requests
gh rate-limit
gh repo
gh repos
gh search-issues
gh search-repos
gh starred
gh trending
gh user
gh view
gh configure
gh
นอกเหนือจาก gitsome
PIL
หรือ Pillow
การใช้งาน:
$ gh <command> [param] [options]
configure Configure gitsome.
create-comment Create a comment on the given issue.
create-issue Create an issue.
create-repo Create a repo.
emails List all the user's registered emails.
emojis List all GitHub supported emojis.
feed List all activity for the given user or repo.
followers List all followers and the total follower count.
following List all followed users and the total followed count.
gitignore-template Output the gitignore template for the given language.
gitignore-templates Output all supported gitignore templates.
issue Output detailed information about the given issue.
issues List all issues matching the filter.
license Output the license template for the given license.
licenses Output all supported license templates.
me List information about the logged in user.
notifications List all notifications.
octo Output an Easter egg or the given message from Octocat.
pull-request Output detailed information about the given pull request.
pull-requests List all pull requests.
rate-limit Output the rate limit. Not available for Enterprise.
repo Output detailed information about the given filter.
repos List all repos matching the given filter.
search-issues Search for all issues matching the given query.
search-repos Search for all repos matching the given query.
starred Output starred repos.
trending List trending repos for the given language.
user List information about the given user.
view View the given index in the terminal or a browser.
ดูการอ้างอิงคำสั่งการรวม GitHub ใน COMMANDS.md สำหรับ การอภิปรายโดยละเอียด เกี่ยวกับคำสั่ง พารามิเตอร์ ตัวเลือก และตัวอย่างการรวม GitHub ทั้งหมด
ตรวจสอบส่วนถัดไปสำหรับ การอ้างอิงอย่างรวดเร็ว
gitsome
หากต้องการทำงานร่วมกับ GitHub อย่างถูกต้อง คุณต้องกำหนดค่า gitsome
ก่อน:
$ gh configure
สำหรับผู้ใช้ GitHub Enterprise ให้รันด้วยแฟล็ก -e/--enterprise
:
$ gh configure -e
$ gh feed
ดูฟีดกิจกรรมของคุณหรือฟีดกิจกรรมของผู้ใช้รายอื่น หรือเลือกผ่านเพจเจอร์ด้วย -p/--pager
ตัวเลือกเพจเจอร์สามารถใช้ได้กับหลายคำสั่ง
$ gh feed donnemartin -p
$ gh feed donnemartin/gitsome -p
$ gh notifications
ดูคำขอดึงทั้งหมดสำหรับ repos ของคุณ:
$ gh pull-requests
ดูปัญหาที่เปิดอยู่ทั้งหมดที่คุณได้รับการกล่าวถึง:
$ gh issues --issue_state open --issue_filter mentioned
ดูประเด็นทั้งหมด กรองเฉพาะประเด็นที่ได้รับมอบหมายให้กับคุณ โดยไม่คำนึงถึงสถานะ (เปิด, ปิด):
$ gh issues --issue_state all --issue_filter assigned
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับตัวกรองและตัวระบุสถานะ โปรดไปที่การอ้างอิง gh issues
ใน COMMANDS.md
$ gh starred "repo filter"
ปัญหาการค้นหาที่มี +1 มากที่สุด:
$ gh search-issues "is:open is:issue sort:reactions-+1-desc" -p
ปัญหาการค้นหาที่มีความคิดเห็นมากที่สุด:
$ gh search-issues "is:open is:issue sort:comments-desc" -p
ค้นหาปัญหาด้วยแท็ก "ต้องการความช่วยเหลือ":
$ gh search-issues "is:open is:issue label:"help wanted"" -p
ปัญหาการค้นหาที่มีชื่อผู้ใช้ของคุณติดแท็ก @donnemartin :
$ gh search-issues "is:issue donnemartin is:open" -p
ค้นหาปัญหาส่วนตัวที่เปิดอยู่ทั้งหมดของคุณ:
$ gh search-issues "is:open is:issue is:private" -p
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับตัวระบุการค้นหา โปรดไปที่ข้อมูลอ้างอิงปัญหาการค้นหา
ค้นหา repos Python ทั้งหมดที่สร้างขึ้นในหรือหลังปี 2015 โดยมี >= 1,000 ดาว:
$ gh search-repos "created:>=2015-01-01 stars:>=1000 language:python" --sort stars -p
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับตัวระบุคำค้นหา โปรดไปที่ข้อมูลอ้างอิงที่เก็บการค้นหา
ดู repos ที่ได้รับความนิยม:
$ gh trending [language] [-w/--weekly] [-m/--monthly] [-d/--devs] [-b/--browser]
ดูผู้พัฒนาที่กำลังมาแรง (ขณะนี้ผู้พัฒนารองรับเฉพาะในเบราว์เซอร์เท่านั้น):
$ gh trending [language] --devs --browser
view
ดูการแจ้งเตือนที่ระบุไว้ก่อนหน้านี้ คำขอดึง ปัญหา การซื้อคืน ผู้ใช้ ฯลฯ ด้วยรูปแบบ HTML ที่สวยงามสำหรับเทอร์มินัลของคุณ หรือทางเลือกในเบราว์เซอร์ของคุณ:
$ gh view [#] [-b/--browser]
issue
ดูปัญหา:
$ gh issue donnemartin/saws/1
pull-request
ดูคำขอดึง:
$ gh pull-request donnemartin/awesome-aws/2
.gitignore
แสดงรายการเทมเพลต .gitignore
ที่มีอยู่ทั้งหมด:
$ gh gitignore-templates
ตั้งค่า .gitignore
ของคุณ :
$ gh gitignore-template Python > .gitignore
LICENSE
แสดงรายการเทมเพลต LICENSE
ที่มีอยู่ทั้งหมด:
$ gh licenses
ตั้งค่าหรือ LICENSE
ของคุณ:
$ gh license MIT > LICENSE
โทรหา Octocat เพื่อพูดข้อความที่ให้ไว้หรือไข่อีสเตอร์:
$ gh octo [say]
$ gh user octocat
ดูโปรไฟล์ของคุณด้วยคำสั่ง gh user [YOUR_USER_ID]
หรือใช้ทางลัดต่อไปนี้:
$ gh me
สร้างความคิดเห็น:
$ gh create-comment donnemartin/gitsome/1 -t "hello world"
สร้างปัญหา:
$ gh create-issue donnemartin/gitsome -t "title" -b "body"
สร้างที่เก็บถาวร:
$ gh create-repo gitsome
คำสั่ง gh
หลายคำสั่งรองรับตัวเลือก -p/--pager
ซึ่งแสดงผลเป็นเพจเจอร์ หากมี
การใช้งาน:
$ gh <command> [param] [options] -p
$ gh <command> [param] [options] --pager
คำสั่ง gh
หลายคำสั่งรองรับตัวเลือก -b/--browser
ที่แสดงผลในเบราว์เซอร์เริ่มต้นของคุณแทนที่จะเป็นเทอร์มินัล
การใช้งาน:
$ gh <command> [param] [options] -b
$ gh <command> [param] [options] --browser
ดู COMMANDS.md สำหรับรายการโดยละเอียดของคำสั่ง พารามิเตอร์ ตัวเลือก และตัวอย่างการรวม GitHub ทั้งหมด
มีปัญหาในการจำคำสั่งเหล่านี้ใช่ไหม? ลองดูตัวเติมข้อความอัตโนมัติที่มีประโยชน์พร้อมความช่วยเหลือแบบโต้ตอบเพื่อแนะนำคุณตลอดแต่ละคำสั่ง
โปรดทราบว่าคุณสามารถรวม gitsome
เข้ากับยูทิลิตี้อื่นๆ เช่น Git-Extras ได้
gitsome
โฮสต์บน PyPI คำสั่งต่อไปนี้จะติดตั้ง gitsome
:
$ pip3 install gitsome
คุณยังสามารถติดตั้ง gitsome
ล่าสุดจากแหล่ง GitHub ซึ่งอาจมีการเปลี่ยนแปลงที่ยังไม่ได้ส่งไปยัง PyPI:
$ pip3 install git+https://github.com/donnemartin/gitsome.git
หากคุณไม่ได้ติดตั้งใน virtualenv
คุณอาจต้องรันด้วย sudo
:
$ sudo pip3 install gitsome
pip3
ขึ้นอยู่กับการตั้งค่าของคุณ คุณอาจต้องการรัน pip3
ด้วย -H flag
:
$ sudo -H pip3 install gitsome
สำหรับผู้ใช้ Linux ส่วนใหญ่ สามารถติดตั้ง pip3
บนระบบของคุณได้โดยใช้แพ็คเกจ python3-pip
ตัวอย่างเช่น ผู้ใช้ Ubuntu สามารถเรียกใช้:
$ sudo apt-get install python3-pip
ดูตั๋วนี้สำหรับรายละเอียดเพิ่มเติม
คุณสามารถติดตั้งแพ็คเกจ Python ใน virtualenv
เพื่อหลีกเลี่ยงปัญหาที่อาจเกิดขึ้นกับการขึ้นต่อกันหรือการอนุญาต
หากคุณเป็นผู้ใช้ Windows หรือต้องการรายละเอียดเพิ่มเติมเกี่ยวกับ virtualenv
โปรดดูคู่มือนี้
ติดตั้ง virtualenv
และ virtualenvwrapper
:
$ pip3 install virtualenv
$ pip3 install virtualenvwrapper
$ export WORKON_HOME=~/.virtualenvs
$ source /usr/local/bin/virtualenvwrapper.sh
สร้าง gitsome
virtualenv
และติดตั้ง gitsome
:
$ mkvirtualenv gitsome
$ pip3 install gitsome
หากการติดตั้ง pip
ไม่ทำงาน คุณอาจใช้งาน Python 2 เป็นค่าเริ่มต้น ตรวจสอบเวอร์ชันของ Python ที่คุณใช้อยู่:
$ python --version
หากการเรียกด้านบนส่งผลให้เกิด Python 2 ให้ค้นหาเส้นทางสำหรับ Python 3:
$ which python3 # Python 3 path for mkvirtualenv's --python option
ติดตั้ง Python 3 หากจำเป็น ตั้งค่าเวอร์ชัน Python เมื่อเรียก mkvirtualenv
:
$ mkvirtualenv --python [Python 3 path from above] gitsome
$ pip3 install gitsome
หากคุณต้องการเปิดใช้งาน gitsome
virtualenv
อีกครั้งในภายหลัง ให้รัน:
$ workon gitsome
หากต้องการปิดการใช้งาน gitsome
virtualenv
ให้รัน:
$ deactivate
คุณสามารถเรียกใช้ gitsome ในคอนเทนเนอร์ Docker ได้เพื่อหลีกเลี่ยงการติดตั้ง Python และ pip3
ในเครื่อง หากต้องการติดตั้ง Docker โปรดดูเอกสารประกอบอย่างเป็นทางการของ Docker
เมื่อคุณติดตั้ง docker แล้ว คุณสามารถเรียกใช้ gitsome ได้:
$ docker run -ti --rm mariolet/gitsome
คุณสามารถใช้โวลุ่ม Docker เพื่อให้ gitsome เข้าถึงไดเร็กทอรีการทำงานของคุณ, .gitsomeconfig และ .gitconfig ในเครื่องของคุณ:
$ docker run -ti --rm -v $(pwd):/src/
-v ${HOME}/.gitsomeconfig:/root/.gitsomeconfig
-v ${HOME}/.gitconfig:/root/.gitconfig
mariolet/gitsome
หากคุณใช้คำสั่งนี้บ่อยครั้ง คุณอาจต้องการกำหนดนามแฝง:
$ alias gitsome="docker run -ti --rm -v $(pwd):/src/
-v ${HOME}/.gitsomeconfig:/root/.gitsomeconfig
-v ${HOME}/.gitconfig:/root/.gitconfig
mariolet/gitsome"
วิธีสร้างอิมเมจ Docker จากแหล่งที่มา:
$ git clone https://github.com/donnemartin/gitsome.git
$ cd gitsome
$ docker build -t gitsome .
gitsome
เมื่อติดตั้งแล้ว ให้รันโปรแกรมเติมข้อความอัตโนมัติ gitsome
เสริมพร้อมความช่วยเหลือแบบโต้ตอบ:
$ gitsome
การรันเชลล์ gitsome
เสริมจะช่วยให้คุณมีการเติมข้อความอัตโนมัติ ความช่วยเหลือแบบโต้ตอบ คำแนะนำแบบปลา Python REPL ฯลฯ
gh
เรียกใช้คำสั่งที่รวม GitHub:
$ gh <command> [param] [options]
หมายเหตุ: ไม่จำเป็นต้องใช้เชลล์ gitsome
เพื่อรันคำสั่ง gh
หลังจากติดตั้ง gitsome
แล้ว คุณสามารถรันคำสั่ง gh
จากเชลล์ใดก็ได้
gh configure
หากต้องการทำงานร่วมกับ GitHub อย่างถูกต้อง จะต้องกำหนดค่า gitsome
อย่างเหมาะสม:
$ gh configure
รันด้วยแฟล็ก -e/--enterprise
:
$ gh configure -e
ดูรายละเอียดเพิ่มเติมในส่วนการกำหนดค่า gh
ตามค่าเริ่มต้น gitsome
จะดูตำแหน่งต่อไปนี้เพื่อเปิดใช้งานการทุบตีให้สำเร็จ
หากต้องการเพิ่มความสมบูรณ์ของ bash เพิ่มเติม ให้อัปเดตไฟล์ ~/.xonshrc
ด้วยตำแหน่งของการทุบตีของคุณให้เสร็จสิ้น
หากไม่มี ~/.xonshrc
ให้สร้างมันขึ้นมา:
$ touch ~/.xonshrc
ตัวอย่างเช่น หากพบการดำเนินการเพิ่มเติมใน /usr/local/etc/my_bash_completion.d/completion.bash
ให้เพิ่มบรรทัดต่อไปนี้ใน ~/.xonshrc
:
$BASH_COMPLETIONS.append('/usr/local/etc/my_bash_completion.d/completion.bash')
คุณจะต้องรีสตาร์ท gitsome
เพื่อให้การเปลี่ยนแปลงมีผล
gh
นอกเหนือจาก gitsome
คุณสามารถรันคำสั่ง gh
ภายนอกตัวสร้างเชลล์ gitsome
ได้ หากต้องการเปิดใช้งานการเสร็จสิ้นแท็บ gh
สำหรับเวิร์กโฟลว์นี้ ให้คัดลอกไฟล์ gh_complete.sh
ในเครื่อง
แจ้งให้ bash ทราบว่าเสร็จสิ้นแล้วสำหรับคำสั่ง gh
ภายในเซสชันปัจจุบันของคุณ:
$ source /path/to/gh_complete.sh
หากต้องการเปิดใช้งานการเติมแท็บให้สมบูรณ์สำหรับเซสชันเทอร์มินัลทั้งหมด ให้เพิ่มสิ่งต่อไปนี้ในไฟล์ bashrc
ของคุณ:
source /path/to/gh_complete.sh
โหลด bashrc
ของคุณใหม่:
$ source ~/.bashrc
เคล็ดลับ: .
เป็นรูปแบบย่อของ source
ดังนั้นคุณจึงสามารถเรียกใช้สิ่งนี้แทน:
$ . ~/.bashrc
zsh
มีโมดูลที่เข้ากันได้กับการทุบตีให้สำเร็จ
ดาวน์โหลดไฟล์ gh_complete.sh
ตามด้านบนและผนวกข้อมูลต่อไปนี้เข้ากับ .zshrc
ของคุณ :
autoload bashcompinit
bashcompinit
source /path/to/gh_complete.sh
โหลด zshrc
ของคุณใหม่:
$ source ~/.zshrc
PIL
หรือ Pillow
การแสดงรูปประจำตัวสำหรับคำสั่งผู้ใช้ gh me
และ gh user
จะต้องติดตั้ง PIL
หรือ Pillow
ซึ่งเป็นตัวเลือกเสริม
Windows* และ Mac:
$ pip3 install Pillow
*ดูส่วนสนับสนุน Windows สำหรับข้อจำกัดเกี่ยวกับอวตาร
ผู้ใช้ Ubuntu โปรดดูคำแนะนำเหล่านี้ใน askubuntu
gitsome
ขับเคลื่อนโดย xonsh
ซึ่งปัจจุบันไม่รองรับ Python 2.x ตามที่กล่าวไว้ในตั๋วนี้
gitsome
ได้รับการทดสอบบน Windows 10 ด้วย cmd
และ cmder
แม้ว่าคุณจะสามารถใช้พรอมต์คำสั่งมาตรฐานของ Windows ได้ แต่คุณอาจจะมีประสบการณ์ที่ดีกว่ากับ cmder หรือ conemu
คำสั่ง gh user
และ gh me
จะเปิดใช้งานแฟล็ก -t/--text_avatar
เสมอ เนื่องจาก img2txt
ไม่รองรับ ansi avatar บน Windows
บน Windows ไฟล์ .gitsomeconfig
สามารถพบได้ใน %userprofile%
ตัวอย่างเช่น:
C:Usersdmartin.gitsomeconfig
หากคุณสนใจที่จะมีส่วนร่วมใน gitsome
ให้รันคำสั่งต่อไปนี้:
$ git clone https://github.com/donnemartin/gitsome.git
$ cd gitsome
$ pip3 install -e .
$ pip3 install -r requirements-dev.txt
$ gitsome
$ gh <command> [param] [options]
pip3
หากคุณได้รับข้อผิดพลาดขณะติดตั้งโดยแจ้งว่าคุณต้องการ Python 3.4+ อาจเป็นเพราะคำสั่ง pip
ของคุณได้รับการกำหนดค่าสำหรับ Python เวอร์ชันเก่า เพื่อแก้ไขปัญหานี้ แนะนำให้ติดตั้ง pip3
:
$ sudo apt-get install python3-pip
ดูตั๋วนี้สำหรับรายละเอียดเพิ่มเติม
รายละเอียดการบูรณาการอย่างต่อเนื่องมีอยู่ใน Travis CI
รันการทดสอบหน่วยในสภาพแวดล้อม Python ที่ใช้งานอยู่ของคุณ:
$ python tests/run_tests.py
รันการทดสอบหน่วยด้วย tox ในสภาพแวดล้อม Python หลายรายการ:
$ tox
เอกสารซอร์สโค้ดจะพร้อมใช้งานใน Readthedocs.org เร็วๆ นี้ ตรวจสอบเอกสารต้นฉบับ
รันสิ่งต่อไปนี้เพื่อสร้างเอกสาร:
$ scripts/update_docs.sh
ยินดีบริจาค!
อ่านหลักเกณฑ์การมีส่วนร่วมเพื่อดูรายละเอียดวิธีการ:
อย่าลังเลที่จะติดต่อฉันเพื่อหารือเกี่ยวกับปัญหา คำถาม หรือความคิดเห็น
ข้อมูลการติดต่อของฉันสามารถพบได้บนหน้า GitHub ของฉัน
ฉันกำลังมอบโค้ดและทรัพยากรในพื้นที่เก็บข้อมูลนี้ให้กับคุณภายใต้ใบอนุญาตโอเพ่นซอร์ส เนื่องจากนี่คือพื้นที่เก็บข้อมูลส่วนตัวของฉัน ใบอนุญาตที่คุณได้รับสำหรับโค้ดและทรัพยากรของฉันจึงมาจากฉัน ไม่ใช่นายจ้างของฉัน (Facebook)
Copyright 2016 Donne Martin
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.