2012-12-13 13 views
8

ile çakışma nedeniyle birleştirilemiyor Bir şube oluşturdum ve bir grup değişiklik yaptım. Değişiklikleri yaptım ve sonra değişiklikleri arşivledim. Sonra ana dalına geçtim ve birleştirme yapmaya çalıştım. Değişiklikleri kabul etmediğimi söyledi. Bu yüzden neden bahsettiğini görmek için ana dalda bir taahhüt yaptım. Değiştirilen UserInterfaceState.xcuserstate adlı bir dosya olduğunu söyledi. Bu yüzden değişimi yaptım (değişikliğin ne olduğundan emin değilim). Sonra tekrar birleştirmeyi denedim. Daha sonra bir birleştirme penceresi açar ve UserInterfaceState.xcuserstate ile bir çakışma olduğunu gösterir. Bu yüzden şubeye geri döndüm ve aynı dosyanın artık işlenmeye ihtiyacı olduğunu gördüm. Bu daha önce göstermedi. Bu yüzden onu taahhüt ettim ve ana dalına geri döndüm. Tekrar birleştirmeyi denedim ama kabul edilemeyen değişiklikler yüzünden kaçıyorum. Tabii ki, UserInterfaceState.xcuserstate bir kez daha kararlı olmak gerekiyor. Ben bunu taahhüt ettim ve birleştirmeye çalıştım. Çatışma ile aynı sorun. Onun bir kısır döngü.UserInterfaceState.xcuserstate

Bu dosya nedir ve bildirilen çakışmayı nasıl çözerim? Proje navigasyon penceremde görünmüyor. Ayrıca, unix dosya sisteminde değil. Tamamen sıkışmışım. Öneriler? Xcode Böyle bir proje denetçisi pencere pozisyonları, açık sekmeler genişletilmiş düğümler gibi GUI durumlarını kaydeder nerede xcode 4.5.2

cevap

5

UserInterfaceState.xcuserstate edilir kullanıyorum vb

Basitçe Xcode penceresini yeniden boyutlandırma için bu dosyayı neden olur değiştirin ve kaynak kontrol sisteminiz tarafından değiştirildiği gibi işaretlensin. SCM sisteminizin, projenin kendisi için önemli olmayan belirli dosyaları yok saymasını sağlayabilirsiniz.

Git: Git ignore file for Xcode projects
Subversion:

git rm kullanımında SVN ignore pattern with Xcode 4

+0

: .gitignore ve .subversion. Onlar içinde değildir ve linkler önerir. Ayrıca, bu bağlantılar git'e başvurduğundan, xcode SCM için git kullanır mı? – JeffB6688

+0

Her ikisini de destekler, bu yüzden her iki linki de gönderdim. Ne kullandığını bilmiyorum. Ancak, ya bilmiyorsanız, muhtemelen Xcode'un varsayılan olarak kullandığı gibi git'i kullanıyorsunuzdur. Yok sayma dosyaları ana klasörünüzdedir (~). Eğer yoksa, onları oluşturmanız gerekir. Bunların gizli klasörler olduğunu ('.' ile başlayarak) unutmayın, bu yüzden onları Finder'da normal olarak görmüyorsunuz. Terminalde 'ls -a'yı dene. – DrummerB

+2

Maalesef, hala çalışmıyor. Ev dizinimde yukarıdaki bağlantıya göre bir .gitignore dosyası oluşturuyorum. Ancak, dalları veya birleştirmeyi her değiştirdiğimde, sürekli olarak dalları birleştirmeden veya değiştirmeden önce UserInterfaceState.xcuserstate dosyasının değişikliklerini yapmamı ister. Başka bir deyişle, .gitignore bu dosyayı görmezden gelmiyor. Ayrıca xcode'ı yeniden başlatmayı denedim. Bu yardımcı olmadı. Ne eksik olduğum hakkında bir fikrin var mı? – JeffB6688

11

sadece kaldırmak dosyaları --cached * xcuserstate

sonra do yerel muhtelif mesajla .DS_Store seçerek taahhüt

diğer tüm değişiklikleri atla

çekme

itme :) yapılan

bağlantılarınızı bakın bu dosyaları şunlardır
+0

Lütfen, alttaki xCode proje dizin yapısını bilmediğim için daha hassas olabilir misiniz? Örneğin. Benim App İkiater denir. - Peki, yukarıda bahsettiğin ilk komutta nereye yazabilirim? - Bütün diğer değişiklikleri atmak nasıl - - vs. – Guy

+0

Bu yüzden ilk satırı nasıl çalıştı ve bu sonuçlandı yerel bir .DS_Store seçerek taahhüt yapmalıyım nasıl: Guys-Air: guy.xcuserdatad guy $ git rm --cached * xcuserstate Twoater.xcodeproj/project.xcworkspace/xcuserdata/guy.xcuserdatad/UserInterfaceState.xcuserstate: birleştirme gerekiyor rm 'Twoater.xcodeproj/project.xcworkspace/xcuserdata/guy.xcuserdatad/UserInterfaceState.xcuserstate ' – Guy

+0

Sonra yerel bir taahhüt yapmaya çalıştım: Guys-Air: guy.xcuserdatad guy $ git commit -m' .DS_Store sürgün edildi! ' U \t Twoater.xcodeproj/xcuserdata/guy.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist hatası: 'commit' mümkün değil, çünkü dosyaları unmerged. ipucu: Çalışma ağacında düzeltin, ipucu: ve 'git add/rm ' özelliğini ipucu olarak kullanın: çözünürlüğü işaretlemek ve bir taahhütte bulunmak için uygun, ipucu: veya 'git commit -a' komutunu kullanın. ölümcül: Çözümlenmemiş bir çakışma nedeniyle çıkılıyor. – Guy