Git Add มีสวิตช์ verbose หรือไม่


105

ฉันกำลังดำเนินการย้าย repo สาธารณะทั้งหมดของฉันไปยัง github การตัดสินใจอย่างหนึ่งที่ฉันได้ทำคือใช้คอนโซลเท่านั้นเนื่องจากมันหมายถึงขนาดของเครื่องมือที่น้อยลงหากฉันจำเป็นต้องเปลี่ยนพีซีเป็นต้น

ฉันจะเป็นผู้ใช้แอปพลิเคชันคอนโซลจำนวนมากและเป็นมือใหม่ในการคอมไพล์ฉันตัดสินใจซื้อซีรีส์ Mastering Git ของ Tekpub เนื่องจากมันแสดงให้คุณเห็นถึงวิธีการรวม git bash เป็นแถบเครื่องมือ

ทุกอย่างทำงานได้ดียกเว้นคำสั่ง add all ซึ่ง ได้แก่ :

git add .

ดูเหมือนว่าจะใช้งานได้ แต่ฉันไม่ได้รับสัญญาณว่าทำงานหรือไม่ มีสวิตช์ verbose หรือไม่ (ฉันคิดว่ามันจะเรียกว่าอะไร) ที่จะบอกว่าไฟล์ใดที่ถูกติดตามหลังจากเปิดคำสั่ง?

ฉันใช้ Visual Studio 2010 ด้วยการติดตั้ง git มาตรฐาน (ไม่ใช่ส่วนขยาย Git)


(ใช่มันเป็นคำถามเก่าฉันเห็นแล้วเพราะเพิ่งแก้ไข) git add --helpแสดงเอกสารสำหรับgit addคำสั่งรวมถึง--verboseตัวเลือก
Keith Thompson

ความคิดใหม่สำหรับคำถามเก่า - ฉันชอบgit add -Aมากกว่าgit add .ฉันไม่ได้ค้นหาความแตกต่าง แต่พบว่าคำสั่งที่ฉันต้องการมีแนวโน้มที่จะเพิ่มไฟล์ที่เปลี่ยนแปลงหรือไฟล์ใหม่ทั้งหมด
cptully

คำตอบ:


136

สำหรับคำสั่ง git บางคำสั่งที่คุณระบุ--verboseได้

git 'command' --verbose

หรือ

git 'command' -v.

ตรวจสอบให้แน่ใจว่าสวิตช์อยู่หลังคำสั่ง git จริง มิฉะนั้นจะไม่ทำงาน!

ยังมีประโยชน์:

git 'command' --dry-run 

5
git 1.7.9 (cygwin) บอกฉันว่า --verbose เป็นตัวเลือกที่ไม่รู้จัก
Roy Truelove

5
@RTruelove: คุณอาจจะใช้git --verbose addแทนgit add --verbose
Bogdan D

31

ฉันกำลังแก้ไขปัญหาเกี่ยวกับคอมไพล์และต้องการเอาต์พุตที่ละเอียดมากเพื่อดูว่าเกิดอะไรขึ้น ฉันลงเอยด้วยการตั้งค่าGIT_TRACEตัวแปรสภาพแวดล้อม:

export GIT_TRACE=1
git add *.txt

เอาท์พุต:

14:06:05.508517 git.c:415               trace: built-in: git add test.txt test2.txt
14:06:05.544890 git.c:415               trace: built-in: git config --get oh-my-zsh.hide-dirty

1
บิงโก! ขอบคุณมากสำหรับตัวแปรสภาพแวดล้อมนี้!
Henry Rivera

3
เพื่อให้ง่ายขึ้นคุณสามารถไปเช่น: GIT_TRACE=1 git add *.txtทั้งหมดอยู่ในบรรทัดเดียวกัน
cristianoms

6

เช่นเดียวกับ (เกือบ) ทุกโปรแกรมคอนโซลสำหรับระบบที่เหมือนยูนิกซ์ git ไม่ได้บอกอะไรคุณหากคำสั่งสำเร็จ มันจะพิมพ์บางอย่างออกมาก็ต่อเมื่อมีบางอย่างผิดปกติ

อย่างไรก็ตามหากคุณต้องการแน่ใจว่าเกิดอะไรขึ้นเพียงพิมพ์

git status

และดูว่าการเปลี่ยนแปลงใดที่จะเกิดขึ้นและไม่เกิดขึ้น ฉันขอแนะนำให้คุณใช้สิ่งนี้ก่อนการคอมมิตทุกครั้งเพื่อให้แน่ใจว่าคุณไม่ลืมอะไรเลย

เนื่องจากคุณดูเหมือนยังใหม่กับคอมไพล์นี่คือลิงค์ไปยังหนังสือออนไลน์ฟรีที่แนะนำให้คุณรู้จักคอมไพล์ มันมีประโยชน์มากมันเขียนเกี่ยวกับพื้นฐานและเวิร์กโฟลว์ต่างๆที่รู้จักกันดี: http://git-scm.com/book


จากคำตอบอื่น ๆ ฉันเห็นว่ามีวิธีที่จะบอกคุณว่าเกิดอะไรขึ้น แต่ฉันขอแนะนำให้คุณใช้งานโดยไม่มีพารามิเตอร์ -v พฤติกรรมเริ่มต้นนั้นใช้งานได้จริงกว่า (และพิมพ์ได้เร็วกว่า)
Riccardo T.

// ฉันไม่เคยได้ยินมาก่อนว่าโปรแกรมคอนโซลสำหรับระบบที่เหมือน UNIX ไม่ได้บอกอะไรคุณเลยหากคำสั่งสำเร็จ ตอนนี้ฉันได้ยินแล้วฉันคิดว่ามันน่าจะชัดเจนสำหรับฉัน
Nathan Basanese

นั่นไม่เป็นความจริง! Git บอกฉันได้มากหากฉันใช้มันเป็นประจำแม้ว่าคำสั่งจะสำเร็จก็ตาม ตัวอย่างเช่นgit commitบอกฉันว่ามีการเปลี่ยนแปลงกี่บรรทัดและไฟล์หากมีการสร้างไฟล์ใหม่หรือgit pushแจ้งให้ฉันทราบเกี่ยวกับความคืบหน้าในการผลักดันไปที่อัปสตรีม
LukeLR

5

คุณสามารถใช้git add -iเพื่อรับเวอร์ชันอินเทอร์แอกทีฟgit addแม้ว่านั่นจะไม่ใช่สิ่งที่คุณต้องการ สิ่งที่ง่ายที่สุดคือหลังจากมีgit added ให้ใช้git statusเพื่อดูว่ามีการจัดฉากหรือไม่

git add .ไม่แนะนำให้ใช้จริงๆเว้นแต่จะเป็นการกระทำครั้งแรกของคุณ โดยปกติจะเป็นการดีกว่าที่จะแสดงรายการไฟล์ที่คุณต้องการจัดฉากอย่างชัดเจนเพื่อที่คุณจะได้ไม่เริ่มติดตามไฟล์ที่ไม่ต้องการโดยบังเอิญ (ไฟล์ชั่วคราวเป็นต้น)


1
เพียงใช้. gitconfig เพื่อกำหนดข้อยกเว้นไม่จำเป็นต้องติดตามด้วยตนเอง
Steve K
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.