เคล็ดลับ: มากกว่า 100 คำสั่งสำหรับ GitHub / Git ที่คุณควรรู้

เมื่อวานนี้เป็นวันเขียนโปรแกรมและความขัดแย้งกับที่เก็บ git ทำให้ฉันไป ที่เก็บ hemanth ที่ฉันมีรายชื่อทั้งหมดด้วย มากกว่า 400 คำสั่ง สำหรับ GitHub/Git ที่ถือว่าใช้มากที่สุดแต่ละรายการจะมาพร้อมกับคำอธิบายการใช้งาน หากคุณไม่รู้ว่ามันคืออะไร GitHub หรือคุณเพิ่งมีปัญหาในการติดตั้งคุณสามารถไปที่ คู่มือฉบับย่อสำหรับการใช้ GitHub ที่จะลบข้อสงสัยทั้งหมดของคุณอย่างแน่นอน

Git ช่วยสำหรับการใช้งานประจำวันน้อยกว่า 20 คำสั่งเพื่อใช้ git ทุกวัน

คอมไพล์ ช่วย ทุกวัน

แสดงคู่มือ Git Help

คอมไพล์ ช่วย -g

เขียนทับดึง

git ดึง - ทั้งหมด && git รีเซ็ต - ต้นกำเนิด / ต้นแบบยาก

รายชื่อไฟล์ทั้งหมดที่มีการคอมมิต

git ls-tree - ชื่อเท่านั้น -r <กระทำ-ish>

อัปเดตการอ้างอิงไปยังคอมมิตแรก

git update-ref -d HEAD

รายชื่อไฟล์ทั้งหมดที่ขัดแย้งกัน

git diff --name-only --diff-filter = U

รายการไฟล์ทั้งหมดถูกเปลี่ยนแปลงในการกระทำ

git diff-tree --no-commit-id - ชื่อเท่านั้น -r <กระทำ-ish>

ดูการเปลี่ยนแปลงที่คุณทำไว้ตั้งแต่การคอมมิตครั้งล่าสุด

คอมไพล์

เปรียบเทียบการเปลี่ยนแปลงที่เตรียมไว้กับคอมมิตล่าสุด

git diff - แคช

แสดงความแตกต่างระหว่างการเปลี่ยนแปลงที่บันทึกและไม่ได้บันทึก

git แตกต่าง HEAD

แสดงรายชื่อสาขาทั้งหมดที่รวมกับผู้เชี่ยวชาญของคุณแล้ว

สาขา git - มาสเตอร์ที่ผสาน

เปลี่ยนไปใช้สาขาก่อนหน้าอย่างรวดเร็ว

การชำระเงิน git -

เอากิ่งไม้ที่รวมกับมาสเตอร์แล้ว

สาขา git - มาสเตอร์ที่ผสาน | grep -v '^ \ *' | xargs -n 1 สาขา git -d

แสดงรายการสาขาทั้งหมดและข้อผูกพันสุดท้ายกับสาขา

สาขา git -vv

ติดตามสาขา

สาขา git -u ต้นทาง / mybranch

ลบสาขาในพื้นที่

สาขา git -d <local_branchname>

ลบสาขาระยะไกล

git push กำเนิด --delete <ชื่อสาขาระยะไกล>

เลิกทำการเปลี่ยนแปลงในเครื่องด้วยเนื้อหาล่าสุดในส่วนหัว

การชำระเงิน git - <ชื่อไฟล์>

ย้อนกลับการคอมมิตโดยสร้างคอมมิตใหม่

git เปลี่ยนกลับ <กระทำ-ish>

ทิ้งคอมมิตแนะนำเฉพาะในสาขาส่วนตัว

รีเซ็ตคอมไพล์ <กระทำ-ish>

เปลี่ยนข้อความคอมมิตก่อนหน้านี้

คอมมิตคอมมิต -v --amend

แก้ไขผู้แต่ง

คอมมิต --amend --author ='ชื่อผู้แต่ง'

รีเซ็ตผู้เขียนหลังจากเปลี่ยนผู้แต่งแล้วในการตั้งค่าส่วนกลาง

คอมมิตคอมมิต --amend - รีเซ็ต - ผู้แต่ง - ไม่มีการแก้ไข

เปลี่ยน URL ระยะไกล

git ที่มาของ set-url ระยะไกล <URL>

รับรายการการอ้างอิงระยะไกลทั้งหมด

คอมไพล์ระยะไกล

ทางเลือก:

การแสดงระยะไกลคอมไพล์

รับรายชื่อสาขาในพื้นที่และห่างไกลทั้งหมด

สาขา git -a

รับรายชื่อสาขาระยะไกล

สาขา git -r

เพิ่มส่วนที่เปลี่ยนแปลงของไฟล์แทนทั้งไฟล์

คอมไพล์เพิ่ม -p

ค้นหาความพยายามที่เสร็จสมบูรณ์

ขด http://git.io/vfhol > ~/.git-completion.bash && เสียงสะท้อน '[-f ~ / .git-complete.bash] &&. ~ / .git-complete.bash' >> ~/.bashrc

แสดงการเปลี่ยนแปลงของ 2 สัปดาห์ที่ผ่านมา

บันทึก git - no-merges --raw --since ='2 สัปดาห์ที่ผ่านมา'

ทางเลือก:

คอมไพล์ whatchanged --since ='2 สัปดาห์ที่ผ่านมา'

ดูการกระทำทั้งหมดของส้อมหลัก

บันทึก git - ไม่รวม - สถิติ - ต้นแบบย้อนกลับ ..

การเลือกคอมมิตข้ามสาขาโดยใช้เชอร์รี่เลือก

การชำระเงินคอมไพล์ <ชื่อสาขา> && git เชอร์รี่เลือก <กระทำ-ish>

ค้นหาสาขาที่มีคอมมิตแฮช

สาขา git -a --contains <กระทำ-ish>

ทางเลือก:

สาขา git - มี <กระทำ-ish>

นามแฝงของ Git

gitconfig --global นามแฝง.<จัดการ> <คำสั่ง> 
gitconfig --global นามแฝง.st สถานะ

บันทึก (stasheado) งานที่ดำเนินการไปอย่างรวดเร็วและชั่วคราว

git ซ่อน

ทางเลือก:

git stash บันทึก

Stasheado ของไฟล์ทั้งหมดแม้กระทั่งไฟล์ที่ไม่ได้เตรียมไว้

git stash บันทึก -u

ทางเลือก:

git stash บันทึก - รวม - ไม่ได้ติดตาม

แสดงรายการไฟล์ stasheado ทั้งหมด

รายการที่ซ่อนของคอมไพล์

ใช้การเปลี่ยนแปลงแบบทีละขั้นโดยไม่ต้องลบออกจากรายการแบบทีละขั้น

ใช้ git stash <ซ่อน @ {n}>
git ซ่อนป๊อป

ทางเลือก:

git stash ใช้ stash @ {0} && git stash drop stash @ {0}

ลบข้อมูลที่เก็บไว้ทั้งหมด

git ซ่อนชัดเจน

ทางเลือก:

git ซ่อนวาง <ซ่อน @ {n}>

ใช้ไฟล์เฉพาะที่ถูกซ่อนไว้

การชำระเงินคอมไพล์ <ซ่อน @ {n}> -- <file_path>

ทางเลือก:

git checkout stash @ {0} - <file_path>

แสดงไฟล์ที่เตรียมไว้ทั้งหมด

git ls-files -t

แสดงไฟล์ทั้งหมดที่ยังไม่ได้เตรียม

git ls-files - อื่น ๆ

แสดงไฟล์ที่ละเว้นทั้งหมด

git ls-files --others -i --exclude-standard

สร้างแผนผังการทำงานที่เก็บใหม่ (git 2.5)

คอมไพล์ worktree เพิ่ม -b <ชื่อสาขา> <เส้นทาง> <จุดเริ่มต้น>

สร้างแผนผังการทำงานใหม่จาก HEAD

git worktree เพิ่ม --detach <เส้นทาง> HEAD

ลบไฟล์จากที่เก็บ git โดยไม่ต้องลบออกจากที่เก็บโลคัล

git rm - แคช <file_path>

ทางเลือก:

git rm - แคช -r <ไดเร็กทอรี_พาธ>

ก่อนที่จะลบไฟล์ดิบให้ทำการทดสอบเพื่อรับรายชื่อไฟล์เหล่านี้

คอมไพล์สะอาด -n

บังคับให้ลบไฟล์ที่ไม่ได้เตรียมไว้

คอมไพล์สะอาด -f

บังคับให้ลบไดเรกทอรีที่ไม่ได้เตรียมไว้

คอมไพล์สะอาด -f -d

ทางเลือก:

คอมไพล์สะอาด -df

อัปเดตโมดูลย่อยทั้งหมด

git submodule สำหรับแต่ละ git pull

แสดงการเปลี่ยนแปลงทั้งหมดในสาขาปัจจุบันที่ยังไม่ได้รวมเข้ากับหลัก

git เชอร์รี่ -v มาสเตอร์

ทางเลือก:

git เชอร์รี่ -v มาสเตอร์ <สาขาที่จะรวมเข้าด้วยกัน>

เปลี่ยนชื่อสาขา

สาขา git -m <ชื่อสาขาใหม่>

ทางเลือก:

สาขา git -m [<ชื่อสาขาเก่า>] <ชื่อสาขาใหม่>

อัปเดต 'คุณลักษณะ' และสร้าง 'ต้นแบบ' ที่ผสาน

คุณลักษณะการชำระเงิน git && git rebase @ {- 1} && git checkout @ {- 2} && git merge @ {- 1}

เก็บสาขาหลัก

git archive master --format = zip --output = master.zip

แก้ไขการกระทำก่อนหน้านี้โดยไม่ต้องแก้ไขข้อความรายงาน

git add - ทั้งหมด && คอมมิตคอมมิต --amend - ไม่มีการแก้ไข

ลบสาขาระยะไกลที่ไม่มีอยู่ในต้นทางอีกต่อไป

git ดึง -p

ทางเลือก:

ต้นกำเนิดลูกพรุนระยะไกล git

ดึงคอมมิตแฮชจากการแก้ไขครั้งแรก

 git rev-list - กลับหัว | หัว -1

ดูแผนผังเวอร์ชัน

บันทึก git --pretty = oneline --graph --decorate - ทั้งหมด

ทางเลือก:

gitk - ทั้งหมด

เพิ่มโปรเจ็กต์ไปยังที่เก็บโดยใช้ทรีย่อย

git subtree เพิ่ม --prefix =<ชื่อไดเร็กทอรี>/<ชื่อโครงการ> --สควอช git@github.com:<ชื่อผู้ใช้>/<ชื่อโครงการ>.git มาสเตอร์

รับการเปลี่ยนแปลงล่าสุดจากที่เก็บของคุณสำหรับโปรเจ็กต์ที่เชื่อมโยงโดยใช้แผนผังย่อย

git subtree ดึง --prefix =<ชื่อไดเร็กทอรี>/<ชื่อโครงการ> --สควอช git@github.com:<ชื่อผู้ใช้>/<ชื่อโครงการ>.git มาสเตอร์

ส่งออกสาขาและประวัติไปยังไฟล์

git Bundle สร้าง <ไฟล์> <ชื่อสาขา>

นำเข้าจากกลุ่ม

git โคลน repo.bundle <repo-dir> -b <ชื่อสาขา>

รับชื่อของสาขาปัจจุบัน

git rev-parse - ชื่อย่อ - ref HEAD

ละเว้นไฟล์ที่ถูกคอมมิตแล้ว (เช่น Changelog)

git update-index - สมมติว่าไม่มีการเปลี่ยนแปลงการเปลี่ยนแปลง; git commit -a; git update-index - ไม่ถือว่าไม่เปลี่ยนแปลงการเปลี่ยนแปลง

Stashea เปลี่ยนแปลงก่อนจัดเรียงใหม่

git rebase --autostash

ค้นหาด้วยรหัสในสาขาท้องถิ่น

git ดึงจุดเริ่มต้นดึง /<id>/ ศีรษะ:<ชื่อสาขา>

ทางเลือก:

git ดึงต้นกำเนิดดึง /<id>/ ศีรษะ:<ชื่อสาขา>

แสดงแท็กล่าสุดของสาขาปัจจุบัน

git อธิบาย - แท็ก - ชื่อย่อ = 0

มองหาความแตกต่าง

git diff --word-diff

ละเว้นการเปลี่ยนแปลงไฟล์การติดตาม

git update-index - สมมติว่าไม่เปลี่ยนแปลง <ชื่อไฟล์>

ยกเลิก

git update-index - ไม่ถือว่าไม่เปลี่ยนแปลง <ชื่อไฟล์>

ล้างไฟล์ .gitignore.

คอมไพล์สะอาด -X -f

กู้คืนไฟล์ที่ถูกลบ

การชำระเงินคอมไพล์ <Deleteing_commit>^ - <file_path>

กู้คืนไฟล์ด้วยคอมมิตแฮชเฉพาะ

การชำระเงินคอมไพล์ <กระทำ-ish> -- <file_path>

จัดเรียงใหม่เสมอแทนที่จะรวม

git config --global branch.autosetuprebase เสมอ

แสดงรายการนามแฝงและการตั้งค่าทั้งหมด

git config --list

ทำให้ case git มีความละเอียดอ่อน

git config --global core.ignorecase เท็จ

ประเภทของการแก้ไขตนเอง

gitconfig --global ช่วย.แก้ไขอัตโนมัติ 1

ตรวจสอบว่าการเปลี่ยนแปลงเป็นส่วนหนึ่งของรุ่นหรือไม่

git name-rev - ชื่อเท่านั้น <ช่า-1>

ทำความสะอาดแห้ง

git clean -fd --dry-run

ทำเครื่องหมายการกระทำเป็นคำตอบสำหรับการกระทำก่อนหน้านี้

คอมมิตคอมมิต - แก้ไข <ช่า-1>

การแก้ไขสควอช

git rebase -i --autosquash

ข้ามพื้นที่การจัดเตรียมระหว่างการคอมมิต

คอมมิตคอมมิต -am <ส่งข้อความ>

แสดงรายการไฟล์ที่ละเว้น

git ตรวจสอบละเว้น *

สถานะของไฟล์ที่ถูกละเว้น

สถานะคอมไพล์ - สัญญาณ

คอมมิตใน Branch1 ที่ไม่ได้อยู่ใน Branch2

git log Branch1 ^ Branch2

บันทึกและใช้การแก้ปัญหาความขัดแย้งก่อนหน้านี้ซ้ำ

git config --global rerere เปิดใช้งาน 1

เปิดไฟล์ที่ขัดแย้งกันทั้งหมดใน Editor

git diff - ชื่อเท่านั้น | มีเอกลักษณ์ | xargs $ EDITOR

นับจำนวนอ็อบเจ็กต์ที่ไม่ได้เตรียมไว้และปริมาณการใช้บนดิสก์

git นับวัตถุ - มนุษย์อ่านได้

การบำรุงรักษาวัตถุที่ไม่สามารถเข้าถึงได้

git gc --prune = now --aggressive

ดูที่เก็บของคุณทันทีบน gitweb

git instaweb [--ท้องถิ่น] [--httpd=<httpd>] [--ท่าเรือ=<พอร์ต>] [- เบราว์เซอร์=<เบราว์เซอร์>]

ดูลายเซ็น GPG ในบันทึกการยืนยัน

บันทึก git - แสดงลายเซ็น

ลบรายการจากการตั้งค่าส่วนกลาง

git config --global --unset <รายการชื่อ>

รับสาขาใหม่ที่ไม่มีประวัติ

ชำระเงินคอมไพล์ --orphan <ชื่อสาขา>

แสดงความแตกต่างระหว่างไฟล์ที่ใช้งานจริงและเวอร์ชันล่าสุดของไฟล์

git diff - ขั้นตอน

แตกไฟล์จากสาขาอื่น

แสดง git <ชื่อสาขา>:<ชื่อไฟล์>

แสดงเฉพาะรูทและยืนยันการผสาน

บันทึก git - first-parent

ผสานระหว่างสองคอมมิต

git rebase --interactive HEAD ~ 2

รายชื่อสาขาทั้งหมด

git checkout master && สาขา git - ไม่รวม

ค้นหาโดยใช้การค้นหาแบบไบนารี

git bisect เริ่ม git แบ่งส่วน git ที่ไม่ดีแบ่งเป็นสองส่วนดี v2.6.13-rc2 git แบ่งครึ่ง git ที่ไม่ดีแบ่งส่วน git bibect ที่ดีรีเซ็ต                    

แสดงรายการคอมมิตและการเปลี่ยนแปลงของไฟล์เฉพาะ

บันทึก git - ทำตาม -p - <file_path>

โคลนสาขาเดียว

git โคลน -b <ชื่อสาขา> - สาขาเดียว https://github.com/user/repo.git

สร้างและเปลี่ยนไปใช้สาขาใหม่

git ชำระเงิน -b <ชื่อสาขา>

ละเว้นไฟล์ที่มีการเปลี่ยนแปลงคอมมิต

git กำหนดค่า core.fileMode เท็จ