ดังที่คุณกล่าวถึงโมดูลย่อย git patch : ละเว้นโมดูลย่อยที่สกปรกเพื่อสรุปและสถานะอยู่ในการสร้าง
ยังประกาศในรุ่นGit 1.7.2-rc2 :
Git v1.7.2 Release Notes (draft)
================================
Updates since v1.7.1
--------------------
" git status
" เรียนรู้ " --ignore-submodules
" ตัวเลือก
ความหมาย:
git config --global diff.ignoreSubmodules dirty
เกี่ยวกับสิ่งนี้ในฐานะตัวเลือกไม่ใช่แนวทางที่เลือกไว้ในตอนนี้ :
หลังจากซีรีส์นี้ฉันวางแผนที่จะเพิ่มตัวเลือกการกำหนดค่า ' ignore
' เป็น.gitmodules
ซึ่งสามารถตั้งค่าให้โมดูลย่อยแต่ละโมดูลเป็น "ทั้งหมด" "สกปรก" "ไม่ติดตาม" หรือ "ไม่มี" (ค่าเริ่มต้น)
" git diff
" และ " git status
" จะใช้ค่ากำหนดค่านั้นสำหรับโมดูลย่อยแต่ละโมดูล
การใช้ " --ignore-submodule
" ลบล้างค่าเริ่มต้นนี้ (และพารามิเตอร์ใหม่ "none" จะถูกเพิ่มที่นั่นเพื่อให้สามารถลบล้างการตั้งค่าการกำหนดค่าได้)
และเพื่อหลีกเลี่ยงไม่ให้ต้องทำ " git submdule sync
" ทุกครั้งที่ตัวเลือกนั้นเปลี่ยนแปลงฉันต้องการค้นหาตัวเลือกนี้.git/config
ก่อน
หากไม่พบที่นั่นจะถูกนำมาจาก.gitmodules
ถ้ามีอยู่
ดังนั้นผู้ใช้จึงสามารถลบล้างการตั้งค่าได้ แต่หากไม่เป็นเช่นนั้นอัปสตรีมสามารถเปลี่ยนได้อย่างง่ายดาย (เช่นเมื่อ.gitignore
มีการอัปเดตโมดูลย่อยเพื่อให้ " ignore=untracked
" ไม่จำเป็นอีกต่อไปก็สามารถลบออกได้)
นอกจากนี้การเปลี่ยนสาขาจะมีผลทันทีหากignore
รายการ '' .gitmodules
แตกต่างกันระหว่างสาขา
อีกวิธีหนึ่งในการสร้างสถานะ git (หรือคำสั่ง git ใด ๆ ) เพื่อละเว้นโมดูลย่อยที่เฉพาะเจาะจงสามารถใช้ได้กับ Git 2.13 (Q2 2017):
git config submodule.<name>.active false
ดูเพิ่มเติมที่ " ละเว้นการคอมมิตใหม่สำหรับโมดูลย่อย git "