.gitignore ไม่ละเว้น .idea path


109

ฉันขาดอะไรไปที่ต้องทำเพื่อที่gitจะไม่สนใจ.idea/เส้นทางของฉัน

ctote@ubuntu:~/dev/1$ git status
On branch master
Your branch is up-to-date with 'origin/master'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

    modified:   .idea/.name
    modified:   .idea/misc.xml
    modified:   .idea/modules.xml
    modified:   .idea/vcs.xml
    modified:   .idea/workspace.xml
    modified:   src/Receiver.java
    modified:   test/1/agent/WindowsQueryHandlerTest.java

Untracked files:
  (use "git add <file>..." to include in what will be committed)

    lib/
    mp1.iml

no changes added to commit (use "git add" and/or "git commit -a")

ctote@ubuntu:~/dev/1$ cat .gitignore
*.class

# Package Files #
*.war
*.ear

# IDEA config files
.idea/

2
เป็นไปได้ที่จะซ้ำกันของไฟล์ละเว้นที่ได้รับการ
ผูกมัดกับที่

เพียงแค่สามารถละเว้นไฟล์ - โฟลเดอร์ใดก็ได้ที่คุณต้องการละเว้น - ไปที่เครื่องมือ intellij คลิกขวาที่ไฟล์ / โฟลเดอร์ -> git -> เพิ่มไฟล์ ti .gitignore นั่นคือมัน - จากนั้นเป็นต้นไป intellij จะเริ่มละเว้น ไฟล์ / โฟลเดอร์เหล่านี้สำหรับการเปลี่ยนแปลง
Ashish Shetkar

คำตอบ:


284

.gitignore ละเว้นไฟล์ที่เพิ่มใหม่ (ไม่ได้ติดตาม) เท่านั้น

หากคุณมีไฟล์ที่เพิ่มลงในที่เก็บแล้วการเปลี่ยนแปลงทั้งหมดจะถูกติดตามตามปกติแม้ว่าจะตรงกับกฎ. gitignore ก็ตาม

ในการลบโฟลเดอร์นั้นออกจากที่เก็บ (โดยไม่ต้องลบออกจากดิสก์) ให้ทำ:

git rm --cached -r .idea

11
ร้ายแรง: pathspec '.idea' ไม่ตรงกับไฟล์ใด ๆ
Oliver Dixon

ฉันยังได้รับข้อความแสดงข้อผิดพลาด fata: pathspec ...
Solx85

@iLoveUnicorns คุณมีโฟลเดอร์. ida ที่ผูกมัด / จัดฉากเพื่อคอมไพล์หรือไม่?
Cristian Lupascu

5
LGTM ฉันได้รับข้อผิดพลาดเดียวกันกับที่ระบุไว้ข้างต้น แต่ฉันบังคับให้ลบโดยใช้-fไฟล์. ขอบคุณ.
Srinivas Damam

ive มองหาสิ่งนี้มานานแล้ว ผลงาน ขอบคุณ!
CodeGodie

32

เพิ่ม.idea/ในไฟล์. gitignore

รันคำสั่งนี้ในเทอร์มินัลเพื่อทำภารกิจให้สำเร็จ :)

git rm -rf .idea
git commit -m "delete .idea"
git push

2
fatal: pathspec '.idea' ไม่ตรงกับไฟล์ใด ๆ
Martin Erlic

15

หากต้องการลบ"fatal: pathspec" .idea "ไม่ตรงกับไฟล์ใด ๆ " ให้ใช้หาก dir ยังคงส่งคืนว่าไม่ถูกติดตาม:

git clean -f -d .idea


4
นี่เป็นทางออกเดียวที่ได้ผลสำหรับฉันจากทุกสิ่ง
Josh Desmond

3
นี่เป็นการลบโฟลเดอร์ออกจากระบบไฟล์ของคุณ!
Pero122

7

สำหรับผู้ที่คุณจะได้รับfatal: pathspec '.idea' did not match any files:

คุณต้องรวมพา ธ แบบเต็มไปยังโฟลเดอร์. ida

ก่อนอื่นให้ทำgit statusซึ่งจะแสดงเส้นทางที่.ideaกำหนดให้คุณอยู่ในขณะนี้

จากนั้นรวมเส้นทางในคำสั่งที่ w0lf แนะนำ: git rm --cached -r example/path/to/.idea


2

หากหลังจากทำตามขั้นตอนจากคำตอบอื่น ๆ แล้วคุณยังพบว่าอินสแตนซ์ของคอมไพล์ของคุณทำงานใน bash หรือ powershell เพียงแค่ติดตาม .idea / โฟลเดอร์จากนั้นลองทำดู!

ฉันค้นพบว่า Jet Brains IDE มี. gitignore เป็นของตัวเองและเรียกใช้อินสแตนซ์ของคอมไพล์ของตัวเองซึ่งจะแทนที่การตั้งค่า. gitignore ของคุณ!

สิ่งที่ฉันทำเพื่อแก้ไขปัญหานี้คือไปที่ /.idea/.gitignore และเปลี่ยนเนื้อหาเป็น:

/**

เพื่อที่จะไม่สนใจทุกอย่างในโฟลเดอร์

ภาพด้านล่างแสดงวิธีที่คุณสามารถนำทางไปยังไฟล์. gitignore จากภายใน Jetbrains IDE ของคุณ

การค้นหา. gitignore


1

ในการแก้ไขข้อผิดพลาด"fatal: pathspec" .idea "ไม่ตรงกับไฟล์ใด ๆ "หลังจากป้อนคำสั่งด้านบน

  1. ตรวจสอบเส้นทางของโฟลเดอร์ไอเดียและไฟล์
  2. git statusสำหรับการทำนี้ มันจะแสดงรายการไฟล์ทั้งหมดตามปกติ ตรวจสอบเส้นทางของไฟล์โฟลเดอร์ไอเดีย ของฉันอยู่ที่../.idea/workspace.xml. สังเกต../.idea
  3. แก้ไขคำสั่งที่แนะนำข้างต้นในคำตอบที่ยอมรับ git rm --cached -r ../.idea
  4. จากนั้นคุณจะเห็นสิ่งนี้rm '.idea/workspace.xml'และไฟล์จะถูกลบออก

@AlexTotheroh ใช่เหมือนกัน เพิ่งพยายามช่วยผู้อื่นด้วยขั้นตอนที่แน่นอนที่ฉันทำในโครงการเพื่อแก้ปัญหานี้
Gautam Mandsorwale

ฉันมีปัญหาเดียวกันที่นี่ .gitignoreอยู่ภายในไดเร็กทอรีโมดูลไม่ใช่ไดเร็กทอรีโปรเจ็กต์ ฉันพยายาม../.ideaอย่างไรก็ตามมันไม่ได้ผล ยังคงแนะนำว่าฉันควรติดตามไฟล์ภายใน.idea
Kareem Jeiroudi

0

สำหรับการละเว้น.ideaโฟลเดอร์และimlประเภทไฟล์ฉันทำสิ่งต่อไปนี้:

ป้อนคำอธิบายภาพที่นี่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.