มีวิธีเพิ่มไฟล์ทั้งหมดไม่ว่าคุณจะทำอะไรไม่ว่าจะถูกลบไม่ได้ติดตามหรือไม่ ชอบการกระทำ ฉันไม่ต้องการให้ไฟล์ทั้งหมดของฉันgit add
หรือgit rm
ทุกครั้งที่ฉันกระทำโดยเฉพาะเมื่อฉันทำงานกับผลิตภัณฑ์ที่มีขนาดใหญ่
มีวิธีเพิ่มไฟล์ทั้งหมดไม่ว่าคุณจะทำอะไรไม่ว่าจะถูกลบไม่ได้ติดตามหรือไม่ ชอบการกระทำ ฉันไม่ต้องการให้ไฟล์ทั้งหมดของฉันgit add
หรือgit rm
ทุกครั้งที่ฉันกระทำโดยเฉพาะเมื่อฉันทำงานกับผลิตภัณฑ์ที่มีขนาดใหญ่
คำตอบ:
ลอง:
git add -A
คำเตือน:เริ่มต้นด้วยคอมไพล์ 2.0 (กลาง 2013) นี้จะเสมอไฟล์เวทีบนต้นการทำงานทั้งหมด
หากคุณต้องการจัดไฟล์ภายใต้เส้นทางปัจจุบันของแผนผังการทำงานของคุณคุณต้องใช้:
git add -A .
ดูเพิ่มเติมที่: ความแตกต่างของgit add -A
และgit add .
ลอง
git add -u
"การu
เลือก" ย่อมาจากการปรับปรุง สิ่งนี้จะอัปเดต repo และลบไฟล์จริงจาก repo ที่คุณลบในโลคอลของคุณ
git add -u [filename]
เพื่อสเตจการลบเป็นไฟล์เดียว เมื่อผลักแล้วไฟล์จะไม่อยู่ใน repo อีกต่อไป
อีกวิธีหนึ่งคือ
git add -A .
เทียบเท่ากับ
git add .
git add -u .
บันทึกส่วนเสริม '.' บนgit add -A
และgit add -u
คำเตือน:เริ่มต้นด้วยคอมไพล์ 2.0 (กลาง 2013) นี้จะเสมอไฟล์เวทีบนต้นการทำงานทั้งหมด
หากคุณต้องการจัดไฟล์ภายใต้เส้นทางปัจจุบันของแผนผังการทำงานของคุณคุณต้องใช้:
git add -A .
ดูเพิ่มเติมที่: ความแตกต่างของgit add -A
และgit add .
คำตอบต่อไปนี้ใช้ได้กับ Git เวอร์ชัน 1.x เท่านั้น แต่ใช้กับ Git เวอร์ชัน 2.x
คุณต้องการgit add -A
:
git add -A
ขั้นตอนทั้งหมด;
git add .
ขั้นตอนใหม่และแก้ไขโดยไม่ถูกลบ
git add -u
ขั้นตอนการแก้ไขและลบโดยไม่ใหม่
git add --all
หรือ git add -A
หรือ git add -A .
ขั้นตอนทั้งหมด
git add .
ขั้นตอนใหม่ & แก้ไขแต่ไม่ถูกลบ
git add -u
ขั้นตอนการแก้ไข & ถูกลบแต่ไม่มีใหม่
git commit -a
หมายถึงgit add -u
และgit commit -m "message"
หลังจากเขียนคำสั่งนี้ทำตามขั้นตอนเหล่านี้: -
git add <list of files>
เพิ่มไฟล์เฉพาะ
git add *.txt
เพิ่มไฟล์ txt ทั้งหมดในไดเรกทอรีปัจจุบัน
git add docs/*/txt
เพิ่มไฟล์ txt ทั้งหมดในไดเรกทอรีเอกสาร
git add docs/
เพิ่มไฟล์ทั้งหมดในไดเรกทอรีเอกสาร
git add "*.txt"
หรือgit add '*.txt'
เพิ่มไฟล์ทั้งหมดในโครงการทั้งหมด
ฉันไม่แน่ใจว่ามันจะเพิ่มไฟล์ที่ถูกลบหรือไม่ แต่git add .
จากรูทจะเพิ่มไฟล์ที่ไม่ได้ติดตามทั้งหมด
นี่คือทางเลือกของฉัน (ใน bash ใด ๆ ):
$ git status -s|awk '{ print $2 }'|xargs git add
เพื่อทำการรีเซ็ต
$ git status -s|awk '{ print $2 }'|xargs git reset HEAD
ฉันเขียนโครงการ G2 ซึ่งเป็นสภาพแวดล้อมที่เป็นมิตรสำหรับคนรักคอมไพล์บรรทัดคำสั่ง
กรุณารับโครงการจาก github - G2 https://github.com/orefalo/g2
มันมีคำสั่งที่ใช้งานง่ายหนึ่งในนั้นคือสิ่งที่คุณต้องการ: freeze
freeze - ตรึงไฟล์ทั้งหมดในที่เก็บ (การเพิ่มการลบการแก้ไข) ไปยังพื้นที่การจัดเตรียมดังนั้นการจัดเตรียมเนื้อหานั้นสำหรับการรวมในการคอมมิชชันถัดไป ยอมรับพา ธ ที่ระบุเป็นพารามิเตอร์ด้วย
สำหรับรุ่นที่ใหม่กว่า Git
ฉันพยายามgit add -A
และสิ่งนี้ได้รับแจ้ง
คำเตือน: พฤติกรรมของ 'git add --all (หรือ -A)' โดยไม่มีอาร์กิวเมนต์พา ธ จากไดเรกทอรีย่อยของต้นไม้จะเปลี่ยนใน Git 2.0 และไม่ควรใช้อีกต่อไป ในการเพิ่มเนื้อหาสำหรับทั้งต้นให้รัน:
git add - all: / (หรือ git add -A: /)
ในการ จำกัด คำสั่งให้อยู่ในไดเรกทอรีปัจจุบันให้รัน:
คอมไพล์เพิ่ม - ทั้งหมด (หรือ git เพิ่ม -A.)
ด้วยเวอร์ชัน Git ปัจจุบันคำสั่งจะถูก จำกัด ไปยังไดเรกทอรีปัจจุบัน
จากนั้นฉันลองด้านล่างซึ่งใช้งานได้
git add --all :/
จากเอกสาร Git เริ่มต้นจากรุ่น 2.0:
ในการเพิ่มเนื้อหาสำหรับทั้งต้นให้รัน:
git add --all :/
หรือ
git add -A :/
ในการ จำกัด คำสั่งให้อยู่ในไดเรกทอรีปัจจุบันให้รัน:
git add --all .
หรือ
git add -A .
ฉันใช้บรรทัดต่อไปนี้เพื่อเพิ่มสำหรับการจัดเตรียมไฟล์ที่แก้ไขและสร้างใหม่ทั้งหมดยกเว้นไฟล์ที่อยู่ใน. gitignore:
git add $(git ls-files -mo --exclude-standard)
(ไวยากรณ์ $ () สำหรับเชลล์ bash) ฉันเดาว่าตัวเลือกบรรทัดคำสั่ง -mod ควรเพิ่มไฟล์ที่ถูกลบด้วย ... หรือถ้าคุณมีชื่อไฟล์ที่มีช่องว่างในตัวการซับหนึ่งตัวต่อไปนี้ควรทำเคล็ดลับ:
git ls-files -z --deleted --modified --others --exclude-standard | xargs -0 git add