Git'teki belirsiz değişiklikleri nasıl reddedebilirim?

Çalışma kopyasında dizinde listelenmeyen değişiklikleri nasıl geri alabilirim?

3956
09 сент. Salt okunur 09 Eylül. 2008-09-09 22:33 '08, 10:33 pm 2008-09-09 22:33
@ 32 cevap
  • 1
  • 2

Başka bir hızlı yol:

 git stash save --keep-index --include-untracked 

- dahil edilmek istemiyorsanız - içerme --include-untracked izlemenizi eklemeniz gerekmez.

Bundan sonra isterseniz bu damgayı git stash drop komutuyla sıfırlayabilirsiniz.

2225
09 сент. Cevap Greg Hewgill 09 Eylül 2008-09-09 22:39 '08, 10:39, 2008-09-09 22:39

Yüklenmemiş tüm dosyalar için şunları kullanın:

 git checkout -- . 

Belirli bir dosya kullanımı için:

border=0
 git checkout path/to/file/to/revert 

Sonunda dönemi belirttiğinizden emin olun.

4303
09 сент. Cevap Tobi 09 Eylül'de verildi. 2008-09-09 22:37 '08, 10:37, 2008-09-09 22:37

Bu tam bir çözüm gibi görünüyor:

 git clean -df git checkout -- . 

git clean işlenmemiş tüm dosyaları kaldırır ( uyarı ), doğrudan .gitignore'da belirtilen yok sayılan dosyaları silmezken, klasörlerde yok sayılan dosyaları kaldırabilir ) ve git checkout belirtilmemiş tüm değişiklikleri siler.

1643
29 авг. Cevap. cevap Mariusz Nowak 29 Ağu. 2012-08-29 21:28 '12 21:28 2012-08-29 21:28

Bu, dosyadaki tüm değişiklikleri geçerli dizinden aşağı atıp, geçerli dizin için geçerli dizini denetler.

 git checkout . 

veya dizin içerisindeki tüm dosyaları kontrol eden bu, ağacın çalışma dosyalarının üzerine yazılır.

 git checkout-index -a -f 
283
20 июня '09 в 13:28 2009-06-20 13:28 Cevap CB Bailey tarafından 20 Haziran 099 'da 13:28 2009-06-20 13:28 tarihinde verilmiştir.
 git clean -df 

Geçerli ağacı kullanarak sürüm denetiminde olmayan dosyaları tekrar tekrar silerek çalışma ağacını temizler.

-d : İz bırakmayan dosyalara ek olarak gereksiz dizinleri de sil

-f : Zorla ( clean.requireForce ayarına bağlı olarak clean.requireForce )

Öğreticiyi görüntülemek için git help clean çalıştırın.

218
07 дек. Tarafından cevap Elvis Ciotti Aralık 07 2011-12-07 16:09 '11 16:09 2011-12-07 16:09

Benim favorim

 git checkout -p 

Bu, seçmeli olarak parçaları iade etmenizi sağlar.

Ayrıca bakınız:

 git add -p 
85
10 окт. Cevap verilen cevap 10 Oct 2014-10-10 15:31 '14, 15:31 2014-10-10 15:31

Hiçbir cevap kullandığım kombinasyonun tam bir türevini sunmadığından, işte burada:

 git clean -dfx git checkout . 

Kullanılan git clean seçenekleri için çevrimiçi yardım metni:

-d

Ham dosyalara ek olarak gereksiz dizinleri silin. İmzasız bir dizin başka bir Git deposu tarafından yönetiliyorsa, varsayılan olarak silinmez. Böyle bir dizini gerçekten kaldırmak istiyorsanız, -f seçeneğini iki kez kullanın.

-f

Git clean.requireForce yapılandırma değişkeni false ayarlanmamışsa, Git clean, -f , -n veya -i belirtilmediği sürece dosyaları veya dizinleri kaldırmayı reddeder. Git, bir .git alt dizinindeki ya da -f saniye -f değilse .git dizinleri silmeyi reddedecektir.

-x

Yok sayma kurallarını .gitignore (her dizin için) ve $GIT_DIR/info/exclude kullanmayın, ancak -e seçenekleriyle belirtilen yoksayma kurallarını kullanın. Bu, ürünlerin montajı dahil olmak üzere işlenmemiş tüm dosyaları silmenizi sağlar. Bu, temiz bir yapı olup olmadığını kontrol etmek için el değmemiş bir çalışma dizini oluşturmak için (muhtemelen git reset ile birlikte kullanılabilir) kullanılabilir.

Buna ek olarak, git checkout. repo kökünden çalıştırılmalıdır.

68
28 апр. Tarafından cevap Martin G 28 Nisan. 2016-04-28 22:46 '16, 10:46, 2016-04-28 22:46

Aslında bu makaleyi ne zaman kullanacağınızı açıklamak için faydalı buldum: http://www.szakmeister.net/blog/2011/oct/12/reverting-changes-git/

Birkaç farklı durum var:

  • Dosyayı git checkout kullanın. Google Checkout "çalışan ağaçtaki dosyaları, dizindeki sürüme göre günceller". Dosyalar teslim edilmediyse (dizine de eklenir) ... bu komut, dosyaları esasen son düzeltmenizin ne olduğuna döndürür.

    git checkout -- foo.txt

  • Dosyayı koyarsanız, git reset kullanın. Sıfırla, dizini düzeltmeye göre değiştirir.

    git reset -- foo.txt

git stash kullanmanın biraz daha az tehlikeli olduğu için popüler bir seçim olduğunu düşünüyorum. Git reset'i kullanırken yanlışlıkla çok fazla silerseniz, her zaman geri dönebilirsiniz. Sıfırlama varsayılan olarak özyinelemelidir.

Daha fazla ipucu için yukarıdaki makaleye bakın.

53
14 авг. Cevap blak3r 14 ağustosta verilir . 2012-08-14 00:31 '12, 0:31 2012-08-14 00:31

Bunu yapmanın en kolay yolu bu komutu kullanmaktır:

Bu komut çalışma dizinindeki değişiklikleri geri almak için kullanılır -

 git checkout -- . 

https://git-scm.com/docs/git-checkout

Git komutunda, ham dosyaların yapıştırılması şu şekilde gerçekleştirilir:

 git stash -u 

http://git-scm.com/docs/git-stash

45
12 апр. Yanıtla AHM Forhadul Islam 12 Nis 2017-04-12 12:27 '17, 12:27 2017-04-12 12:27

Belirsiz değişiklikleri kaydetmekle ilgilenmiyorsanız (özellikle aşamalı değişiklikler yeni dosyalar ise) uygun buldum:

 git diff | git apply --reverse 
41
28 июля '11 в 8:27 2011-07-28 08:27 Cevap Joshua Kunzmann tarafından 28 Temmuz '11'de 8:27 2011-07-28 08:27 tarihinde verilmiştir.

Git durumunu girerken (çalışma dizinindeki değişiklikleri silmek için "git checkout -..." kullanın) .

örneğin git checkout -- .

39
17 мая '16 в 14:27 2016-05-17 14:27 Cevap Erdem ÖZDEMİR tarafından 17 Mayıs '16 'da 14:27, 2016-05-17 14:27 tarihinde verilmiştir.

git checkout -f


man git-checkout :

-f, --force

Dalları değiştirirken, indeks veya çalışma ağacı HEAD'den farklı olsa bile çalışmaya devam edin. Bu yerel değişiklikleri kaldırmak için kullanılır.

Dizinden yolları kontrol ederken, yetkisiz girişler için başarısız olmayın; bunun yerine yok sayılan girişler yoksayılır.

38
17 мая '14 в 5:28 2014-05-17 05:28 Cevap 17 Mayıs, 14, 14: 05'te bitti. 2014-05-17 05:28

Git stash'ı kullanabilirsiniz - eğer bir şeyler ters giderse, cüzdanınızdan hala geri dönebilirsiniz. Burada başka bir cevap gibi, ancak bu da tüm silinen dosyaları ve tüm silinenleri siler:

 git add . git stash 

Her şeyin yolunda olup olmadığını kontrol ederseniz, önbelleği bırakın:

 git stash drop 

Bilal Maqsood'un git clean kullanarak cevabı da benim için çalıştı, ancak uygulama ile daha fazla kontrolüm var - yanlışlıkla bunu yaparsam, değişikliklerimi yine de iade edebilirim

GÜNCELLEME

Başka bir değişiklik olduğunu düşünüyorum (neden daha önce benim için işe yaradığını bilmiyorum):

git add . -A git add . yerine bir- git add .

-A olmadan silinen dosyalar yerleştirilmez

33
11 сент. Cevap Asped olarak verildi 11 Eylül 2015-09-11 14:59 '15, 02:59, 2015-09-11 14:59

Değişiklikleri silmek yerine, konsolu baştan sıfırlarım. Not. Bu yöntem, repo kullanarak klasörünüzü tamamen geri yüklemek için tasarlanmıştır.

Bu nedenle, bunu sıfırladığımda orada oturmadıklarından emin olmak için yapıyorum (daha sonra - Origin / branchname içindeki gitignores hariç)

NOT. Dosyaların henüz izlenmemesini ancak GITIGNORE'da izlenmemesini istiyorsanız, uzak havuzda bulunmayan bu fosil olmayan dosyaları (@XtrmJosh sayesinde) imha edeceği için bu adımı atlayabilirsiniz.

 git add --all 

O zaman ben

 git fetch --all 

Ardından başa sıfırlarım

 git reset --hard origin/branchname 

Bu onu kareye döndürür. Bir şubeyi RE-klonlamak gibi, tüm gitignored dosyalarımı yerel ve yerinde kaydederken.

Aşağıdaki kullanıcı yorumu ile güncellendi: Kullanıcının etkin olduğu geçerli dal için sıfırlamak üzere değiştirin.

 git reset --hard @{u} 
31
08 авг. Cevap Nick 08 Ağustos verilmiştir . 2015-08-08 00:15 '15 0:15 2015-08-08 00:15

Yalnızca mevcut dosyalarda yapılan değişiklikleri silmek istiyorsanız, kullanıma almayı kullanın ( burada belgelenmiştir ).

 git checkout -- . 
  • Şube belirtilmemiş, geçerli şubeyi kontrol ediyor.
  • Çift kısa çizgi ( -- ), Geeta'ya, şube belirtimini kaçırdığınızın ikinci argümanı (yolu) için aşağıdakilerin yapılması gerektiğini söyler.
  • Dönem ( . ) Tüm yolları belirtir.

Son işlemden bu yana eklenen dosyaları silmek istiyorsanız, clean kullanın ( burada belgelenmiştir ):

 git clean -i 
  • -i hatalı silmeleri önlemek için etkileşimli bir clean başlatır.
  • Daha hızlı yürütme için birkaç seçenek daha vardır; belgelere bakın.

Değişiklikleri daha sonra erişmek için depolama alanına taşımak istiyorsanız, stash kullanın ( burada belgelenmiştir ):

 git stash 
  • Tüm değişiklikler, daha sonra erişim için Git Stash'a aktarılacaktır.
  • Daha iyi saklamak için çeşitli seçenekler mevcuttur; belgelere bakın.
25
18 марта '18 в 3:19 2018-03-18 03:19 Cevap jtheletter tarafından 18 Mart '18 'de 3:19 ; 2018-03-18 03:19

Yukarıdaki çözümlerin hepsini denedim, ancak hala kaldırılan yeni dosyalardan kurtulamadım.

Bu yeni dosyaları kaldırmak için git clean -f kullanın - özenle! Güç parametresine dikkat edin.

25
15 окт. Cevap artur 15 Eki tarafından verilen cevap 2011-10-15 00:07 '11 0:07 2011-10-15 00:07

sadece söyle

 git stash 

Tüm yerel değişikliklerinizi kaldıracak. Daha sonra söyleyerek de kullanabilirsiniz.

 git stash apply 

veya git stash pop

20
24 апр. piyushmandovra tarafından Nis 24 tarihinde verilen cevap 2015-04-24 15:19 15: 15'de 15:15 2015-04-24 15:19

Sadece kullan:

 git stash -u 

Yapılır. Kolayca.

Yığın yığınınızı gerçekten umursuyorsanız, git stash drop ile takip edebilirsiniz. Fakat şu anda daha iyi kullanmışsınızdır (Mariusz Nowak'tan):

 git checkout -- . git clean -df 

Ancak git stash -u en çok seviyorum, çünkü sadece izlenen ve test edilmeyen tüm değişiklikleri tek bir komutta "atar". Hala git checkout -- . sadece izlenen değişiklikleri atar ve git clean -df sadece git clean -df değişiklikleri atar ... ve her iki komutu da git clean -df çok işe git clean -df :)

20
08 сент. Tarafından cevap Ben Wilde Eylül 08 verilen 2016-09-08 09:19 '16, 09:19 2016-09-08 09:19

Hatta dizinlerde çalışır; normal git izinlerinin dışında.

 sudo chmod -R 664 ./*  git checkout -- .  git clean -dfx 

Son zamanlarda oldu

16
05 сент. Cevap GlassGhost 05 Eylül tarafından verildi. 2013-09-05 12:38 '13 12:38 2013-09-05 12:38
 cd path_to_project_folder # take you to your project folder/working directory git checkout . # removes all unstaged changes in working directory 
14
30 мая '14 в 12:26 2014-05-30 12:26 Cevap vivekporwal04 verildi 30 Mayıs '14, saat 12:26 2014-05-30 12:26

Deponuzun içinde bulunduğu durum ne olursa olsun, önceki tüm sabitlemeleri her zaman sıfırlayabilirsiniz:

 git reset --hard <commit hash> 

Bu işlemden sonra yapılan tüm değişiklikleri geri alır.

10
05 февр. Cevap msangel 05 feb . 2016-02-05 03:59 '16, 03:59 2016-02-05 03:59

Git temiz -df'ten daha belirgin olan yeni dosyalardan kurtulmanın bir başka yolu (mutlaka hepsi değil, bazı dosyalardan kurtulmanıza izin verir) önce dizine yeni dosyalar eklemek, sonra saklamak ve ardından önbelleği bırakmaktır.

Bu yöntem, bir nedenden ötürü tüm raw dosyalarını sıradan bir mekanizma (örneğin, rm) ile kolayca silemediğiniz zaman kullanışlıdır.

10
15 июня '12 в 11:55 2012-06-15 11:55 Cevap 15 Haziran, 12: 12'de 11: 55'te verilmiştir. 2012-06-15 11:55

Bence

 git clean -df 

Hile yapmalıyım. Git temiz git belgelerine göre

git -clean - işlenmemiş dosyaları çalışma ağacından kaldır

tanım

Geçerli ağacı kullanarak sürüm denetiminde olmayan dosyaları tekrar tekrar silerek çalışma ağacını temizler.

Genellikle, sadece git bilinmeyen dosyalar silinir, ancak -x seçeneği kullanılırsa dosyalar da dikkate alınmaz. Bu, örneğin tüm montaj ürünlerini çıkarmak için yararlı olabilir.

Herhangi bir isteğe bağlı argüman verilirse ... sadece bu yollar etkilenir.

seçenekleri

-d İz bırakmadan dosyalara ek olarak gereksiz dizinleri silin. İmzasız dizin başka bir git deposu tarafından yönetiliyorsa, varsayılan olarak kaldırılmaz. Böyle bir dizini gerçekten silmek istiyorsanız, -f seçeneğini iki kez kullanın.

-f --force git clean.requireForce yapılandırma değişkeni false olarak ayarlanmamışsa, -f, -n veya -i belirtilmezse git clean başlatmayı reddeder.

9
14 июля '16 в 10:03 2016-07-14 10:03 Cevap Lahiru 14 Temmuz’da 16’da 10:03 2016-07-14 10:03

Aşağıda, yalnızca düzenli olarak başka bir depo ile senkronize ettiğiniz (örneğin bir transfer isteği) depo fişiyle birlikte çalışıyorsanız, bir çözüm var. Kısa cevap: çatalı çıkarın ve yeniden çatallayın, ancak github uyarılarını okuyun .

Benzer bir problemim vardı, belki de aynı değildi ve çözümümün ideal olmadığını, ancak sonuçta etkili olduğunu söylediğim için üzgünüm.

Sık sık bunun gibi git durum mesajlarım olur (en az 2/4 dosya dahil):

 $ git status # Not currently on any branch. # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # # modified: doc/PROJECT/MEDIUM/ATS-constraint/constraint_s2var.dats # modified: doc/PROJECT/MEDIUM/ATS-constraint/parsing/parsing_s2var.dats # # 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: doc/PROJECT/MEDIUM/ATS-constraint/constraint_s2Var.dats # modified: doc/PROJECT/MEDIUM/ATS-constraint/parsing/parsing_s2Var.dats 

Keskin göz, bu dosyalarda dopplegangerlerin bulunduğunu, kapalı olması durumunda tek harf olduğunu fark edecektir. Her neyse, beni bu yola sokmaya neyin yol açtığını bilmiyorum (bu dosyalar ile yukarı akış deposunda kendim çalışmadığım için), bu dosyaları değiştirdim. Bu sayfada (ve diğer sayfalarda listelenen) yardımcı görünmeyen birçok çözümü deneyin.

Dallı havuzumu ve tüm yerel depolarımı silerek ve geri dönerek sorunu çözebildim. Bu tek başına yeterli değildi; yukarı akış, söz konusu dosyaları yeni dosya adlarına yeniden adlandırmalıydı. Herhangi bir kırık işiniz olmadığı sürece, herhangi bir wiki yok ve depodan ayrılan hiçbir sorun yok, iyi olmalısınız. En azından, Upstream sizden pek memnun olmayabilir. Sorunum gelince, bu şüphesiz bir kullanıcı hatası, çünkü bu git deneyimine sahip değilim, ancak bunun düzeltilmesi kolay olmaktan uzak olması git ile ilgili bir sorunu gösteriyor.

9
05 янв. Cevap bbarker 05 Jan tarafından verildi . 2014-01-05 07:53 '14 07:53, 2014-01-05 07:53

Çekini başkasına aktarmak istiyorsanız:

 # add files git add . # diff all the changes to a file git diff --staged > ~/mijn-fix.diff # remove local changes git reset  git checkout . # (later you can re-apply the diff:) git apply ~/mijn-fix.diff 

[edit] yorum yapıldığı gibi, stashes olarak adlandırılabilir. Cüzdanını paylaşmak istiyorsan bunu kullan;)

7
08 июля '13 в 18:07 2013-07-08 18:07 Cevap iki kez verilirjr Temmuz 08 '13, 18:07 2013-07-08 18:07

Tüm adım adım dosyalar gerçekte düzeltildiyse, şube örneğin bir sıfırlama olabilir. GUI'nizden üç fare tıklaması ile: Vetka , Reset , Evet !

Bu nedenle, istenmeyen yerel değişiklikleri geri almak için uygulamada sık sık yaptığım şey, tüm iyi şeyleri aktarmak ve sonra da dalı sıfırlamak.

Eğer iyi şeyler bir taahhütte sabitlenirse, o zaman ayara geri dönmek için "son taahhüdünü değiştir" i kullanabilir ya da sonunda biraz daha farklı hale getirmek isterseniz kararsız hale getirebilirsiniz.

Bu, sorununuz için aradığınız teknik çözüm olmayabilir, ancak bunun çok pratik bir çözüm olduğunu düşünüyorum. Bu, kararsız değişiklikleri seçerek geri almanıza, sevmediğiniz değişiklikleri sıfırlamanıza ve yaptığınız değişiklikleri kaydetmenize olanak sağlar.

Bu yüzden sadece taahhüt , şube sıfırlama ve son taahhüdü değiştirin .

6
20 марта '15 в 18:38 2015-03-20 18:38 Cevap kullanıcı tarafından verilir3070485 20 Mart 15, 18:38 2015-03-20 18:38

Bunu açıklayıcı bir şekilde nasıl yapacağınızı açıklayan kendi takma adınızı oluşturabilirsiniz.

Değişiklikleri atmak için aşağıdaki takma adı kullanıyorum.


Çalışma ağacındaki (liste) dosya (lar) daki değişiklikleri at

 discard = checkout -- 

Sonra tüm değişiklikleri silmek için kullanabilirsiniz:

 discard . 

Veya sadece bir dosya:

 discard filename 

Aksi takdirde, kullanılmayan dosyaların yanı sıra tüm değişiklikleri geri almak istiyorsanız, bir kontrol ve temizleme kombinasyonu kullanın:

Değişiklikleri temizle ve at ve çalışma ağacındaki dosyaları izlemeyin

 cleanout = !git clean -df  git checkout -- . 

Bu nedenle kullanımı basittir:

 cleanout 

Şimdi birçok takma ad içeren Github deposunda mevcut:

5
05 июня '17 в 7:44 2017-06-05 07:44 Cevap 05.0717 tarihinde Pau tarafından 07:44 2017-06-05 07:44 tarihinde verilir.

Dosya izinlerini yeni değiştirdiyseniz çözümlerin hiçbiri çalışmaz (bu DOS / Windoze'de)

 Pzt 23/11 / 2015-15: 16: 34,80 C: \ ... \ work \ checkout \ slf4j +> git durumu Şube SLF4J_1.5.3'te Taahhüt için aşamalı olmayan değişiklikler:   (neyin taahhüt edileceğini güncellemek için "git add ..." kullanın)   (çalışma dizinindeki değişiklikleri silmek için "git checkout - ..." kullanın) değiştirildi: .gitignore değiştirildi: LICENSE.txt değiştirildi: TODO.txt değiştirildi: codeStyle.xml değiştirilmiş: pom.xml değiştirilmiş: version.pl taahhütte herhangi bir değişiklik eklenmemiş ("git add" ve / veya "git commit -a" kullanın) Pzt 23/11 / 2015-15: 16: 37,87 C: \ ... \ work \ checkout \ slf4j +> git diff diff --git a / .gitignore b / .gitignore eski mod 100644 yeni mod 100755 diff --git a / LICENSE.txt b / LICENSE.txt eski mod 100644 yeni mod 100755 fark - bir a / TODO.txt b / TODO.txt eski mod 100644 yeni mod 100755 diff - kuşatın / codeStyle.xml b / codeStyle.xml eski mod 100644 yeni mod 100755 diff --git a / pom.xml b / pom.xml eski mod 100644 yeni mod 100755 diff - bir a / version.pl b / version.pl eski mod 100644 yeni mod 100755 Pzt 23/11 / 2015-15: 16: 45,22 C: \ ... \ work \ checkout \ slf4j +> git reset --hard HEAD HEAD şu anda 8fa8488'de 12133-CHIXMISSINGMESSAGES MALCOLMBOEKHOFF 20141223124940 Eklendi .gitignore Pzt 23/11 / 2015-15: 16: 47,42 C: \ ... \ work \ checkout \ slf4j +> git clean -f Pzt 23/11 / 2015-15: 16: 53.49 C: \ ... \ work \ checkout \ slf4j +> git stash kaydet -u SLF4J_1.5.3'te WIP dizin dizin durumu ve çalışma durumu kaydedildi: 8fa8488 12133-CHIXMISSINGMESSAGES MALCOLMBOEKHOFF 20141223124940 Eklendi .gitignore HEAD şu anda 8fa8488'de 12133-CHIXMISSINGMESSAGES MALCOLMBOEKHOFF 20141223124940 Eklendi .gitignore Pzt 23/11 / 2015-15: 17: 00.40 C: \ ... \ work \ checkout \ slf4j +> git stash bırak Bırakılan refs / stash @ {0} (cb4966e9b1e9c9d8daa79ab94edc0c1442a294dd) Pzt 23/11 / 2015-15: 17: 06.75 C: \ ... \ work \ checkout \ slf4j +> git stash bırak Bırakılan refs / stash @ {0} (e6c49c470f433ce344e305c5b778e810625d0529) Pzt 23/11 / 2015-15: 17: 08.90 C: \ ... \ work \ checkout \ slf4j +> git stash bırak Zula bulunamadı. Pzt 23/11 / 2015-15: 17: 15,21 C: \ ... \ work \ checkout \ slf4j +> git ödeme -. Pzt 23/11 / 2015-15: 22: 00.68 C: \ ... \ work \ checkout \ slf4j +> git ödeme -f -. Pzt 23/11 / 2015-15: 22: 04.53 C: \ ... \ work \ checkout \ slf4j +> git durumu Şube SLF4J_1.5.3'te Taahhüt için aşamalı olmayan değişiklikler:   (neyin taahhüt edileceğini güncellemek için "git add ..." kullanın)   (çalışma dizinindeki değişiklikleri silmek için "git checkout - ..." kullanın) değiştirildi: .gitignore değiştirildi: LICENSE.txt değiştirildi: TODO.txt değiştirildi: codeStyle.xml değiştirilmiş: pom.xml değiştirilmiş: version.pl taahhütte herhangi bir değişiklik eklenmemiş ("git add" ve / veya "git commit -a" kullanın) Pzt 23/11 / 2015-15: 22: 13.06 C: \ ... \ work \ checkout \ slf4j +> git diff diff --git a / .gitignore b / .gitignore eski mod 100644 yeni mod 100755 diff --git a / LICENSE.txt b / LICENSE.txt eski mod 100644 yeni mod 100755 fark - bir a / TODO.txt b / TODO.txt eski mod 100644 yeni mod 100755 diff - kuşatın / codeStyle.xml b / codeStyle.xml eski mod 100644 yeni mod 100755 diff --git a / pom.xml b / pom.xml eski mod 100644 yeni mod 100755 diff - bir a / version.pl b / version.pl eski mod 100644 yeni mod 100755

Bunu düzeltmenin tek yolu değiştirilmiş dosyalardaki izinleri manuel olarak sıfırlamaktır:

 Pzt 23/11 / 2015-15: 25: 43.79 C: \ ... \ work \ checkout \ slf4j +> git status -s |  egrep "^ M" |  kesilmiş -c4- |  / f için "usebackq tokens = * delims =" (% `da% A) chmod% 644 yapın ~ A Pzt 23/11 / 2015-15: 25: 55,37 C: \ ... \ work \ checkout \ slf4j +> git durumu Şube SLF4J_1.5.3'te taahhüt edilecek bir şey yok Pzt 23/11 / 2015-15: 25: 59,28 C: \ ... \ work \ checkout \ slf4j +> Pzt 23/11 / 2015-15: 26: 31,12 C: \ ... \ work \ checkout \ slf4j +> git diff
5
23 нояб. Cevap, 23 Kasım'da Malcolm Boekhoff tarafından verildi . 2015-11-23 07:30 '15, 07:30 2015-11-23 07:30

Bir alt modül durumundaysanız ve başka hiçbir çözüm yoksa, şunları deneyin:

  • Sorunun ne olduğunu kontrol etmek için (muhtemelen kirli durum), şunları kullanın:

    git diff

  • Gizli metni kaldırmak için

    git submodule update

5
02 окт. Cevap onalbi 02 ekimde verildi . 2015-10-02 00:32 '15, 0:32 2015-10-02 00:32

Dosya her zaman eksikken garip bir durum yaşadım, çözmeme yardımcı oldu.

git rm.gitattributes
git add -A
git reset - zor

5
08 февр. Cevap SDV 08 Şubat'ta verildi. 2017-02-08 14:58 '17, 02:58 pm 2017-02-08 14:58
  • 1
  • 2

etiketi ya da Soru Sor ile ilgili diğer sorular