เป็นไปได้ไหมที่จะเพิ่ม.gitignore
ไฟล์ลงใน.gitignore
ตัวเอง
.gitignore
ไม่ได้ผล
ฉันไม่ต้องการเห็นมันในไฟล์ที่แก้ไข
เป็นไปได้ไหมที่จะเพิ่ม.gitignore
ไฟล์ลงใน.gitignore
ตัวเอง
.gitignore
ไม่ได้ผล
ฉันไม่ต้องการเห็นมันในไฟล์ที่แก้ไข
.gitignore
ควรเป็นส่วนหนึ่งของที่เก็บของคุณเพื่อให้ทุกคนในทีมของคุณเพิกเฉยหรือตรวจสอบไฟล์เดียวกัน เพียงเพราะ.gitignore
อยู่ในโฟลเดอร์รหัสของคุณบางแห่งไม่ได้หมายความว่าคุณต้องปรับใช้
git rm --cached .gitignore
และยกเลิกการติดตาม. gitignore
คำตอบ:
.gitignore
วัตถุประสงค์ของไฟล์เพื่อป้องกันไม่ให้ทุกคนที่ร่วมมือในโครงการที่ตั้งใจ commiting ไฟล์บางอย่างร่วมกันในโครงการเช่นไฟล์แคชสร้าง ดังนั้นคุณไม่ควรละเลย.gitignore
เนื่องจากควรรวมไว้ในที่เก็บ
หากคุณต้องการละเว้นไฟล์ในที่เก็บเพียงแห่งเดียว แต่ต้องการหลีกเลี่ยงการคอมมิตรายการละเว้น (ตัวอย่างเช่นไฟล์ส่วนบุคคล) คุณสามารถเพิ่มไฟล์เหล่านั้น.git/info/exclude
ในที่เก็บนั้นได้
หากคุณต้องการละเว้นไฟล์บางไฟล์ในทุกที่เก็บบนเครื่องของคุณคุณสามารถสร้างไฟล์~/.gitignore_global
แล้วเรียกใช้
git config --global core.excludesfile ~/.gitignore_global
ก. gitignore สามารถเพิกเฉยได้หากไม่เคยเช็คอิน:
mhaase@ubuntu:~$ git --version
git version 1.7.9.5
mhaase@ubuntu:~$ git init temp
Initialized empty Git repository in /home/mhaase/temp/.git/
mhaase@ubuntu:~$ cd temp
mhaase@ubuntu:~/temp$ touch .gitignore foo bar baz bat
mhaase@ubuntu:~/temp$ git status
# On branch master
#
# Initial commit
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# .gitignore
# bar
# bat
# baz
# foo
mhaase@ubuntu:~/temp$ echo "foo" >> .gitignore
mhaase@ubuntu:~/temp$ echo ".gitignore" >> .gitignore
mhaase@ubuntu:~/temp$ git status
# On branch master
#
# Initial commit
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# bar
# bat
# baz
nothing added to commit but untracked files present (use "git add" to track)
หากคุณเช็คอิน. gitignore (ก่อนที่คุณจะบอกให้เพิกเฉยตัวเอง) มันจะแสดงในสถานะคอมไพล์เสมอแม้ว่าคุณจะแก้ไขภายหลังเพื่อไม่สนใจตัวเองก็ตาม
.gitignore
สำหรับทำงานด้วยgit-svn
ซึ่งไม่มีใครเห็น ฉันก็เลยเพิ่มเข้าไปในตัวมันเองและมันก็ใช้ได้ แต่จากนั้นฉันก็ลองดูว่าคนที่เข้าใจผิดจะอธิบายให้คนอื่นฟังว่า "ไม่ดี" หรือไม่ คำตอบนี้ควรได้รับการยอมรับจากนั้นฉันจะเพิ่มคะแนน.git/info/exclude
ข้อเสนอแนะด้วย ดังนั้นจึงต้องไม่มีการติดตาม ... ไม่น่าแปลกใจอย่างน้อยถ้าคุณเคยถูก "ล้มล้าง" (svn)
.gitignore
ไฟล์สำรองก่อน จากนั้นฉันก็ใช้git rm .gitignore
และยอมรับการเปลี่ยนแปลงนั้น ในที่สุดเพิ่มและคอมมิต.gitignore
ไฟล์อีกครั้งด้วยกฎสำหรับ.gitignore
. มันได้ผล!
git rm --cached .gitignore
เพื่อแก้ไขปัญหานี้คุณสามารถเรียกใช้
ไม่มีเหตุผลที่ดีที่จะทำเช่นนี้ หากคุณต้องการให้ไฟล์ถูกละเว้นสำหรับการโคลนของคุณเท่านั้นให้เพิ่มลง.git/info/exclude
ใน .gitignore
ไฟล์ไม่ใช่
หลังจากคุณป้อน.gitignore
ไฟล์ gitignore แล้วให้ลองทำดังต่อไปนี้
git rm -r --cached .
git add --all
git commit -m "ignoring gitignore"
git push --set-upstream origin master
ควรใช้งานได้แม้ว่าจะได้กล่าวไปแล้ว แต่การเพิกเฉยต่อ gitignore อาจเป็นการต่อต้านหากผู้ใช้หลายคนแชร์ repo ของคุณ
ใช่คุณสามารถ; คุณยังคงเห็นอยู่ในไฟล์ที่แก้ไขเนื่องจากยังคงติดตามโดย git และไฟล์ที่ติดตามโดย git จะถูกทำเครื่องหมายว่าแก้ไขเสมอแม้ว่าจะอยู่ใน. gitignore ก็ตาม ดังนั้นเพียงแค่untrackมัน
แต่ทำไมไม่ยอมรับหรือรีเซ็ตการเปลี่ยนแปลงที่คุณมี เป็นวิธีที่ดีกว่ามากในการลบออกจากสถานะ ... นอกจากนี้โปรดทราบว่า repo ใหม่ ๆ ของคุณจะต้องเพิ่ม.gitignore
ซึ่งอาจสร้างความรำคาญได้
got rm --cached .gitignore
อาจเป็นได้
.gitignore
ควรเป็นส่วนหนึ่งของที่เก็บของคุณโดยแสดงรายการรูปแบบไฟล์ที่เป็นขยะสำหรับโครงการ