ฉันเป็นผู้ใช้ใหม่git
และฉันกำลังเริ่มโครงการใหม่ ฉันมีไฟล์ dot มากมายที่ฉันอยากจะละเว้น มีคำสั่งเพิกเฉยgit
เหมือนมีเพื่อsvn
?
ฉันเป็นผู้ใช้ใหม่git
และฉันกำลังเริ่มโครงการใหม่ ฉันมีไฟล์ dot มากมายที่ฉันอยากจะละเว้น มีคำสั่งเพิกเฉยgit
เหมือนมีเพื่อsvn
?
คำตอบ:
ไม่มีgit ignore
คำสั่งพิเศษใดๆ
แก้ไข.gitignore
ไฟล์ที่อยู่ในตำแหน่งที่เหมาะสมภายในสำเนาที่ใช้งานได้ จากนั้นคุณควรเพิ่มสิ่งนี้.gitignore
และยืนยัน ทุกคนที่โคลน repo นั้นจะไม่สนใจไฟล์เหล่านั้น
โปรดทราบว่าเฉพาะชื่อไฟล์ที่ขึ้นต้นด้วย/
เท่านั้นที่จะสัมพันธ์กับไดเร็กทอรีที่.gitignore
อยู่ส่วนอื่น ๆ จะตรงกับไฟล์ในไดเร็กทอรีย่อยใด ๆ
คุณยังสามารถแก้ไข.git/info/exclude
เพื่อละเว้นไฟล์เฉพาะในสำเนาที่ใช้งานได้ .git/info/exclude
ไฟล์จะไม่ได้รับความมุ่งมั่นและจะทำให้มีผลเฉพาะในท้องถิ่นในการคัดลอกการทำงานนี้
git config --global core.excludesfile
นอกจากนี้คุณยังสามารถตั้งค่าไฟล์ระดับโลกที่มีรูปแบบที่จะไม่สนใจกับ สิ่งนี้จะนำไปใช้กับสำเนาการทำงานของคอมไพล์ทั้งหมดในบัญชีของผู้ใช้เดียวกัน
เรียกใช้git help gitignore
และอ่านข้อความเพื่อดูรายละเอียด
คำสั่งคอมไพล์ที่มีประโยชน์มากมาพร้อมกับtj / git-extras ที่ยอดเยี่ยม
นี่คือตัวอย่างการใช้งานบางส่วน:
git ignore
git ignore "*.log"
git ignore-io -a rails
git-extrasมีคำสั่งที่เป็นประโยชน์มากมาย คุ้มค่าที่จะลอง
บน Linux / Unix คุณสามารถต่อท้ายไฟล์เข้ากับไฟล์. gitignore ด้วยecho
คำสั่ง ตัวอย่างเช่นหากคุณต้องการละเว้น.svn
โฟลเดอร์ทั้งหมดให้เรียกใช้สิ่งนี้จากรากของโครงการ:
echo .svn/ >> .gitignore
/
'\' ที่นำหน้าและต่อท้าย (เพื่อสร้างบรรทัดใหม่) เช่นecho /nbproject/project.properties\ >> .gitignore
และecho /nbproject/project.xml\ >> .gitignore
.
คุณมีสองวิธีในการละเว้นไฟล์:
.gitignore
ในโฟลเดอร์ใด ๆ จะละเว้นไฟล์ตามที่ระบุไว้ในไฟล์สำหรับโฟลเดอร์นั้น สามารถใช้สัญลักษณ์แทนได้.git/info/exclude
ถือรูปแบบการละเว้นส่วนกลางคล้ายกับglobal-ignores
ไฟล์คอนฟิกูเรชัน in subversions.gitignore
ไฟล์ที่ไม่มี '/' จะถูกจับคู่แบบวนซ้ำ (เช่นในไดเร็กทอรีย่อยทั้งหมดของไดเร็กทอรีที่.gitignore
ไฟล์นั้นอยู่) ตรงกันข้ามกับกรณีของsvn:ignore
คุณสมบัติไดเร็กทอรีใน Subversion
ฉันหวังว่ามันจะไม่สายเกินไป
หากคุณใช้ Windows คุณสามารถทำสิ่งต่อไปนี้เพื่อสร้างไฟล์. gitignore
echo name_of_the_file_you_want_to_ignore.extension > .gitignore
ในการแก้ไข. gitignoreคุณสามารถเรียกใช้
notepad .gitignore
สร้างไฟล์ชื่อ. gitignore บนรูทของที่เก็บของคุณ ในไฟล์นี้คุณใส่เส้นทางสัมพัทธ์ไปยังแต่ละไฟล์ที่คุณต้องการละเว้นในบรรทัดเดียว คุณสามารถใช้*
สัญลักษณ์แทน
การใช้คำตอบที่มีให้อยู่แล้วคุณสามารถม้วนของคุณเองgit ignore
คำสั่งโดยใช้นามแฝง เพิ่มสิ่งนี้ลงในไฟล์ ~ / .gitconfig ของคุณ:
ignore = !sh -c 'echo $1 >> .gitignore' -
หรือรันคำสั่งนี้จากเชลล์ (* nix) ที่คุณเลือก:
git config --global alias.ignore '!sh -c "echo $1 >> .gitignore" -'
คุณสามารถสร้างgit exclude
คำสั่งได้เช่นเดียวกันโดยแทนที่ignore
ด้วยexclude
และ.gitignore
ด้วย.git/info/exclude
ในด้านบน
(หากคุณยังไม่เข้าใจความแตกต่างระหว่างสองไฟล์นี้เมื่ออ่านคำตอบที่นี่โปรดดูคำถามนี้)
สำหรับชื่อที่ไม่มีอยู่ในสำเนาการทำงานหรือ repo:
echo /globpattern >> .gitignore
หรือสำหรับไฟล์ที่มีอยู่ (บรรทัดคำสั่งประเภท sh):
echo /$(ls -1 file) >> .gitignore # I use tab completion to select the file to be ignored
git rm -r --cached file # if already checked in, deletes it on next commit
มีประโยชน์ในการกำหนดไฟล์. gitignore ที่สมบูรณ์สำหรับโครงการของคุณ รางวัลคือการใช้ความสะดวก--all
หรือ-a
ตั้งค่าสถานะเพื่อคำสั่งเช่นadd
และcommit
อย่างปลอดภัย
นอกจากนี้ให้พิจารณากำหนดไฟล์~ / .gitignoreส่วนกลางสำหรับรูปแบบที่ถูกละเว้นโดยทั่วไปเช่น*~
ซึ่งครอบคลุมไฟล์ชั่วคราวที่สร้างโดย Emacs
คุณต้องติดตั้ง git-extras สำหรับสิ่งนี้ คุณสามารถติดตั้งใน Ubuntu โดยใช้ apt-get
$ sudo apt-get install git-extras
จากนั้นคุณสามารถใช้คำสั่ง git ละเว้น
$ git ignore file_name
brew install git-extras
คุณสามารถเรียกใช้
คุณยังสามารถใช้ gitignore.io ของ Joe Blau
ไม่ว่าจะผ่านทางเว็บอินเตอร์เฟสhttps://www.gitignore.io/
หรือโดยการติดตั้งเครื่องมือ CLI มันง่ายมากและรวดเร็วเพียงพิมพ์สิ่งต่อไปนี้บนเทอร์มินัลของคุณ:
ลินุกซ์:
echo "function gi() { curl -L -s https://www.gitignore.io/api/\$@ ;}" >> ~/.bashrc && source ~/.bashrc
OSX:
echo "function gi() { curl -L -s https://www.gitignore.io/api/\$@ ;}" >> ~/.bash_profile && source ~/.bash_profile
จากนั้นคุณสามารถพิมพ์gi
ตามด้วยองค์ประกอบแพลตฟอร์ม / สภาพแวดล้อมทั้งหมดที่คุณต้องการเกณฑ์ gitignore
ตัวอย่าง!
สมมติว่าคุณกำลังทำงานกับโปรเจ็กต์โหนดที่มีความฮึกเหิมและคุณกำลังใช้เว็บสตอร์มบน linux จากนั้นคุณอาจต้องการพิมพ์:
gi linux,webstorm,node,grunt > .gitignore
(เพื่อสร้างไฟล์ใหม่เอี่ยม)
หรือ
gi linux,webstorm,node,grunt >> .gitignore
(เพื่อต่อท้าย / เพิ่มกฎใหม่ลงในไฟล์ที่มีอยู่ )
แบมคุณไปได้ดี