.İdea / workspace.xml yoksayılmıyor - sürekli açılmaya devam ediyor


237

PHPStorm kullanarak, workspace.xmlher zaman bir git taahhüt yapmak için açılır hangi görmezden gelmeye çalışıyorum .

Benim .gitignoregibi görünüyor:

/.idea/
.idea/workspace.xml

Çünkü bir noktada dosya işlendi, ben de yürüttüm:

git rm --cached .idea/workspace.xml ve sonra kaldırmayı taahhüt etti, çıplak bir repoya itildi.

Ancak projede değişiklikler yaptığımda dosya daha sonra açılmaya devam ediyor.

Neyi kaçırdığım hakkında bir fikrin var mı?


Aşağıdaki her şeyi denedim, gitignore'a eklendi, ancak yine de gitignore'u görmezden gelmeye devam ediyor.
Olaf

Aynı soruya benziyor .
Göz atın

Bu bağlantıya göz atın: stackoverflow.com/questions/8156299/… . Aynı sorunun gibi görünüyor.
Luca Ballore

Yanıtlar:


288

Ben de aynı sorunla karşı karşıyaydım ve bu beni duvardan yukarı itti. Sorun, .idea klasörünün daha önce repoya ALREADY olarak kaydedilmesi ve böylece onları görmezden gelip gelmemenize bakılmaksızın git tarafından izleniyordu. RubyMine / IntelliJ veya kullandığınız IDE'yi kapattıktan sonra aşağıdakileri tavsiye ederim:

mv .idea ../.idea_backup
rm .idea # in case you forgot to close your IDE
git rm -r .idea 
git commit -m "Remove .idea from repo"
mv ../.idea_backup .idea

Sonra .gitignore içinde .idea göz ardı emin olun

Her ne kadar deponun .gitignore'unda yoksaymak yeterli olsa da, IDE'nizin dotfiles'larını global olarak görmezden gelmenizi öneririm.

Aksi takdirde üzerinde çalıştığınız her proje için her .gitgnore'a eklemeniz gerekir. Ayrıca, diğer insanlarla işbirliği yaparsanız, projenin .gitignore'unu, projenin kaynak koduna özgü olmayan özel yapılandırmalarla kirletmemek için en iyi uygulama.


Git komutunu önlemek için son komut "git mv ../.idea_backup .idea" yerine "mv ../.idea_backup .idea" olmalıdır
Leo Caseiro

2
İşi yapmak git rm .ideayerine git add .ideayapmak zorundayım
Serge

Ben de değişti addiçin rmama benim durumumda ben eklemek zorunda -rardışık tüm kaldırmak için de. git rm -r .idea
jmendiola

2
Vay be ... teşekkür ederim !! Bunu boşuna milyonlarca farklı yol denedim. BU doğru adım adım yaklaşımdır. Eksik olduğum temel fark IDE'min kapalı olduğundan emin olmaktı - bu adımı kaçırmayın! Mükemmel cevap :)
Jonny Asmar

Teşekkürler! çalışan çözümler bulmak için çok zaman harcadı ve birkaçını denedi. Bunu yapmanın en basit yolu budur.
edepe

83

Bu problemi şimdi yaşadım, git rm -f .idea/workspace.xml şimdi yapmak zorundaydım, gitmiş gibi görünüyor (ayrıca koymak zorunda kaldım .gitignore)


7
Ayrıca, bu adımları uygularken, sadece hassas aşk için, Fikir intellij'in kapatılması gerektiğini de ekleyeceğim.
LoreV

29

Yapmak zorundaydım:

  • dosyayı git'ten kaldır
  • taahhüdü tüm uzaktan kumandalara itin
  • tüm diğer komisyonların uzaktan güncellenmesini sağlayın

Komutları

git rm -f .idea/workspace.xml
git remote | xargs -L1 git push --all

Diğer komisyonlar

git pull

7
Bu cevaptan memnun olduğum halde, adımların nasıl gerçekleştirileceğine dair talimatların (örneğin, komut satırı yönergeleri) dahil edilmesinin daha yararlı olacağını hissediyorum.
15:49

Bu bağlantıya göz atın: stackoverflow.com/questions/8156299/… . Aynı probleminiz gibi görünüyor.
Luca Ballore

kapamak aşağı IDE \ N git rm -f .idea / workspace.xml \ n workspace.xml \ n açık IDE dışlamak için \ n düzenlemek .gitignore "workspace.xml çıkarmadan" -m taahhüt GIT
Srneczek

27

Dosyanın göründüğü aynı dizinde şunları yapın:

  • rm .idea/workspace.xml
  • git rm -f .idea/workspace.xml (as suggested by chris vdp)
  • vi .gitignore
  • i(düzenlemek için), .idea/workspace.xmlsatırlardan birini ekleyin Esc,,:wq

Şimdi iyi olmalısın


2
Veya, satırı .gitignore öğesine eklemek için şunu yazın echo .idea/workspace.xml>>.gitignore. Her şey için vi açmanıza gerek yok. Alternatif olarak ve ne yapardım .idea dizininde ayrı bir .gitignore dosyası olması:echo workspace.xml>>.idea/.gitignore
Godsmith

17

IDE yapılandırmanızı etkilemeden.idea/ git'den tamamen kaldırmak için şunları yapabilirsiniz:

git rm -r --cached '.idea/'
echo .idea >> .gitignore
git commit -am "removed .idea/ directory"

6

Git deponuzda birden fazla proje varsa , hiçbir dosyayla .idea/workspace.xmleşleşmez.

Bunun yerine aşağıdakileri yapın:

$ git rm -f **/.idea/workspace.xml

Ve .gitignore'nuzun şöyle görünmesini sağlayın:

# User-specific stuff:
**/.idea/workspace.xml
**/.idea/tasks.xml
**/.idea/dictionaries
**/.idea/vcs.xml
**/.idea/jsLibraryMappings.xml

# Sensitive or high-churn files:
**/.idea/dataSources.ids
**/.idea/dataSources.xml
**/.idea/dataSources.local.xml
**/.idea/sqlDataSources.xml
**/.idea/dynamic.xml
**/.idea/uiDesigner.xml

## File-based project format:
*.iws

# IntelliJ
/out/

5

Sadece git ne söylersin değişmediğini varsaymamasını söyle, ne olursa olsun:

git update-index --assume-unchanged src/file/to/ignore

evet, git deposundan dosyaları kaldırabilirsiniz. Ancak ekibiniz aynı IDE'yi kullanıyorsa veya kendinizseniz, muhtemelen bunu yapmak istemezsiniz. Kendiniz için, ekip arkadaşlarınız için de çalışmaya devam etmek için iyi bir başlangıç ​​noktasına sahip olmak istiyorsunuz.


0

IntelliJ tabanlı Android Studio'da yaptığım gibi. Tamamlama iletişim kutusunda, workspace.xml değişikliğini geri aldım, sonra sürümlendirilmemiş dosyaya taşındı. Bundan sonra bunu taahhüt iletişim kutusundan sildim. Şimdi değişiklik listesinde görünmeyecek. Gitignore'umun zaten .idea / workspace.xml içerdiğini unutmayın


0

Benim durumumda beri bir ilk bir projenin taahhüt gerçekleştirerek sadece silme edildi .gitve .ideaklasörler ve daha sonra kullanarak budala reinitializing git initbir sorunu çözmeye yardımcı oldu. Şimdi hiç yok .idea.


0

PHPStorm ile benim için aynı sorun

Sonunda aşağıdakileri yaparak çözdüm:

  • .İdea / dizinini kaldır
  • .Gitignore öğesini aynı seviyeye taşıyın yeni oluşturulan .idea /
  • Yok sayılması gereken dosyaları ve .idea / yazın . Göz ardı edileceğinden emin olmak için aşağıdakileri koydum:

    • .idea /
    • .idea
    • .idea / *

Neden bu şekilde çalışır bilmiyorum, belki .gitignore bu dizini göz ardı edilebilir .idea aynı düzeyde olması gerekir.


-1

İle biten dosyaları görmezden .iwsve workspace.xmlve tasks.xmlsizin .gitignore dosyaları Referans

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.