ฉันมีที่เก็บ Bitbucket Git ที่จัดการด้วย Sourcetree
ฉันมีสองโฟลเดอร์ที่ต้องการคอมมิต แต่ฉันต้องละเว้นไฟล์ทั้งหมดในโฟลเดอร์เหล่านี้เนื่องจากมีเพียงไฟล์ชั่วคราว
ฉันจะทำเช่นนั้นได้อย่างไร?
ฉันมีที่เก็บ Bitbucket Git ที่จัดการด้วย Sourcetree
ฉันมีสองโฟลเดอร์ที่ต้องการคอมมิต แต่ฉันต้องละเว้นไฟล์ทั้งหมดในโฟลเดอร์เหล่านี้เนื่องจากมีเพียงไฟล์ชั่วคราว
ฉันจะทำเช่นนั้นได้อย่างไร?
คำตอบ:
เพิ่มสิ่งนี้ใน. gitignore:
*
!.gitignore
.gitginore
เป็นไฟล์ปกติเพียงแค่สร้างในไดเร็กทอรีที่คุณต้องการละเว้นเนื้อหา
สำหรับผู้ใช้ Sourcetree: หากคุณต้องการละเว้นโฟลเดอร์ใดโฟลเดอร์หนึ่งให้เลือกไฟล์จากโฟลเดอร์นี้คลิกขวาที่ไฟล์แล้วทำ "ละเว้น ... " คุณจะมีเมนูป๊อปอัปที่คุณสามารถละเว้น "ละเว้นทุกสิ่งที่อยู่ด้านล่าง: <YOUR UNWANTED FOLDER>"
หากคุณมีตัวเลือก "ละเว้น" เป็นสีเทาคุณต้องเลือกตัวเลือก "หยุดการติดตาม" หลังจากนั้นไฟล์จะถูกเพิ่มลงในไฟล์แบบขั้นตอนโดยมีเครื่องหมายลบบนไอคอนพื้นหลังสีแดงและไอคอนของไฟล์ในรายการไฟล์ที่ไม่ได้จัดเตรียมจะเปลี่ยนเป็นเครื่องหมายคำถามบนพื้นหลังสีม่วง ขณะนี้อยู่ในรายการไฟล์ที่ไม่ได้จัดเตรียมตัวเลือก "ละเว้น" จะเปิดใช้งานอีกครั้ง เพียงทำตามที่อธิบายไว้ข้างต้น
เท่าที่ฉันทราบ Git ไม่ได้ติดตามโฟลเดอร์มีเพียงไฟล์เท่านั้นดังนั้นโฟลเดอร์ว่าง (หรือโฟลเดอร์ที่ไม่สนใจไฟล์ทั้งหมด) หากคุณต้องการให้โฟลเดอร์ปรากฏขึ้นเนื่องจากขั้นตอนบางอย่างในกระบวนการสร้างของคุณบางทีคุณอาจให้เครื่องมือสร้างของคุณสร้างขึ้นมาแทน? หรือคุณสามารถใส่ไฟล์ว่างเปล่าที่ไม่มีเครื่องหมายใด ๆ ลงในโฟลเดอร์และยืนยัน
หลังจากตีหัวของฉันเรื่องนี้เป็นเวลาอย่างน้อยหนึ่งชั่วโมงฉันขอเสนอคำตอบนี้เพื่อพยายามขยายความคิดเห็นของคนอื่น ๆ หากต้องการละเว้นโฟลเดอร์ / ไดเร็กทอรีให้ทำดังต่อไปนี้: หากคุณไม่มีไฟล์. gitignore ในรูทของโปรเจ็กต์ของคุณ (ชื่อตรงกับ ".gitignore") ให้สร้างไฟล์ข้อความจำลองในโฟลเดอร์ที่คุณต้องการแยกออก ด้านในของ Source Tree ให้คลิกขวาแล้วเลือก Ignore คุณจะได้ป๊อปอัปหน้าตาแบบนี้
เลือก "ทุกอย่างที่อยู่ข้างใต้" และเลือกโฟลเดอร์ที่คุณต้องการละเว้นจากรายการแบบเลื่อนลง สิ่งนี้จะสร้างไฟล์. gitignore ในไดเร็กทอรีรูทของคุณและใส่ข้อกำหนดโฟลเดอร์ไว้ในนั้น
หากคุณมีโฟลเดอร์. gitignore อยู่แล้วในโฟลเดอร์รูทของคุณคุณสามารถทำตามวิธีการเดียวกันข้างต้นหรือคุณสามารถแก้ไขไฟล์. gitignore และเพิ่มโฟลเดอร์ที่คุณต้องการยกเว้น มันเป็นแค่ไฟล์ข้อความ โปรดทราบว่ามันใช้เครื่องหมายทับในชื่อพา ธ แทนที่จะใช้แบ็กสแลชตามที่ผู้ใช้ Windows คุ้นเคย ฉันพยายามสร้างไฟล์ข้อความ. gitignore ด้วยมือใน Windows Explorer แต่มันไม่ยอมให้ฉันสร้างไฟล์ที่ไม่มีชื่อ (เช่นมีเฉพาะนามสกุล)
โปรดทราบว่าการเพิ่ม. gitignore และข้อกำหนดของไฟล์จะไม่มีผลกับไฟล์ที่กำลังติดตามอยู่ หากคุณติดตามสิ่งเหล่านี้อยู่แล้วคุณจะต้องหยุดติดตาม (คลิกขวาที่โฟลเดอร์หรือไฟล์แล้วเลือกหยุดการติดตาม) จากนั้นคุณจะเห็นว่าพวกเขาเปลี่ยนจากการมีไอคอนสีเขียว / สะอาดหรือสีเหลือง / เปลี่ยนเป็นไอคอนสีแดง / ลบออก ในการคอมมิตครั้งต่อไปของคุณไฟล์จะถูกลบออกจากที่เก็บและหลังจากนั้นจะปรากฏขึ้นพร้อมกับไอคอนสีน้ำเงิน / ละเว้น ผู้ร่วมให้ข้อมูลอีกคนถามว่าทำไม Ignore จึงถูกปิดใช้งานสำหรับไฟล์บางไฟล์และฉันเชื่อว่าเป็นเพราะเขาพยายามละเว้นไฟล์ที่ถูกติดตามอยู่แล้ว คุณสามารถเพิกเฉยได้เฉพาะไฟล์ที่มีไอคอนเครื่องหมายคำถามสีน้ำเงิน
ดังที่ผู้อื่นกล่าวไว้: git ไม่ได้ติดตามโฟลเดอร์เฉพาะไฟล์
คุณสามารถมั่นใจได้ว่ามีโฟลเดอร์อยู่ด้วยคำสั่งเหล่านี้ (หรือตรรกะที่เทียบเท่า):
echo "*" > keepthisfolder/.gitignore
git add --force keepthisfolder/.gitignore
git commit -m "adding git ignore file to keepthisfolder"
การมีอยู่ของไฟล์หมายความว่าทุกคนที่ตรวจสอบที่เก็บจะมีโฟลเดอร์
เนื้อหาของไฟล์ gitignore จะหมายถึงอะไรก็ตามที่อยู่ในไฟล์นั้นจะถูกละเว้น
คุณไม่จำเป็นที่จะต้องไม่ละเลยไฟล์ .gitignore ตัวเอง มันเป็นกฎที่จะตอบสนองจุดประสงค์ใด ๆ เลยแม้แต่ครั้งเดียว
หรือ
หากคุณต้องการเก็บนิยามการละเว้นทั้งหมดไว้ในที่เดียวกันคุณสามารถสร้าง. gitignore ในรูทของโปรเจ็กต์ของคุณโดยมีเนื้อหาดังนี้:
*.tmp # example, ignore all .tmp files in any folder
path/to/keepthisfolder
path/to/keepthatfolder
และเพื่อให้แน่ใจว่ามีโฟลเดอร์อยู่
touch path/to/keepthisfolder/anything
git add --force path/to/keepthisfolder/anything
git commit -m "ensure keepthisfolder exists when checked out"
"อะไรก็ได้" สามารถเป็นอะไรก็ได้ ชื่อที่ใช้ทั่วไปคือ. gitignore, .gitkeep ว่างเปล่า
หากตัวเลือกละเว้นของคุณเป็นสีเทาคุณต้องหยุดการติดตามไฟล์ก่อนจึงจะเพิกเฉยได้ คุณสามารถคลิกขวาที่ไฟล์แล้วกด "หยุดการติดตาม"
ไอคอนสีน้ำเงินควรปรากฏอยู่ข้างๆ คลิกขวาอีกครั้งแล้วคลิกละเว้น
ละเว้นโฟลเดอร์ทั้งหมดบนแผนผังแหล่งที่มา
Just Open Repository >Repository setting > Edit git ignore File and
you can rite some thing like this :
*.pdb
*.bak
*.dll
*.lib
.gitignore
packages/
*/bin/
*/obj/
สำหรับโฟลเดอร์ bin และโฟลเดอร์ obj เพียงแค่เขียน: * / bin / * / obj /
ใน Sourcetree: ละเว้นไฟล์ในโฟลเดอร์ที่ระบุ Sourcetree จะถามว่าคุณต้องการละเว้นไฟล์ทั้งหมดในโฟลเดอร์นั้นหรือไม่ มันสมบูรณ์แบบ!
*
วิธีการละเว้นไฟล์ทั้งหมดและ!.gitignore
วิธีการไม่สนใจไฟล์ตัวเอง