Gitdə müəyyənləşdirilmiş dəyişiklikləri necə rədd etmək olar?

İndeksdə siyahıda göstərilməyən iş sənədimdə dəyişiklikləri necə geri ala bilərəm?

3956
09 сент. Readonly müəyyən 09 Sentyabr. 2008-09-09 22:33 '08 at 10:33 pm 2008-09-09 22:33
@ 32 cavab
  • 1
  • 2

Digər bir sürətli yol:

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

Daxil --include-untracked ehtiyac yoxdur - əgər olmaq --include-untracked .

Bundan sonra isterseniz, bu möhürü git stash drop əmri ilə sıfırlaya bilərsiniz.

2225
09 сент. Greg Hewgill tərəfindən verilmiş cavab 09.09 2008-09-09 22:39 '08 at 10:39 pm 2008-09-09 22:39

Bütün qeyri-quraşdırılmış fayllar üçün istifadə edin:

 git checkout -- . 

Xüsusi bir fayl istifadə üçün:

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

Sonda dövrü müəyyənləşdirdiyinizə əmin olun.

4303
09 сент. Cavab Tobi 09 Sentyabr verilir. 2008-09-09 22:37 '08 at 10:37 pm 2008-09-09 22:37

Görünür ki, tam həll:

 git clean -df git checkout -- . 

git clean bütün işlənməmiş faylları ( xəbərdarlıq ) təmizləyir, doğrudan silinməmiş faylları silinmir. Gitignore'da qeyd olunmayan faylları qovluqlarda sil edə bilərsiniz ) və git checkout bütün müəyyən edilməmiş dəyişiklikləri təmizləyir.

1643
29 авг. Cavab Mariusz Nowak tərəfindən verilmiş 29 avqust. 2012-08-29 21:28 '12 at 21:28 2012-08-29 21:28

Bu, cari kataloq üçün mövcud indeksləri yoxlayır, fayllarındakı bütün dəyişiklikləri indiki kataloqdan aşağıya endirir.

 git checkout . 

ya da, bütün faylları indeksdən yoxlayaraq, ağacın iş fayllarını yazaraq yoxlayır.

 git checkout-index -a -f 
283
20 июня '09 в 13:28 2009-06-20 13:28 Cavab CB Bailey tərəfindən 20 İyun 2013 tarixində 13:28 'də verildi. 2009-06-20 13:28
 git clean -df 

Mövcud kataloqdan başlayan versiya nəzarətində olmayan faylları təkrarlanan şəkildə silməklə iş ağacını təmizləyir.

-d : bir iz olmadan fayllara əlavə olaraq lazımsız -d silin

-f : Force ( clean.requireForce parametrindən asılı olaraq lazım ola bilməz)

Tutun git help clean .

218
07 дек. Elvis Ciotti tərəfindən verilmiş cavab dekabr 07 2011-12-07 16:09 '11 at 16:09 2011-12-07 16:09

Sevdiyim

 git checkout -p 

Bu ədədləri seçici şəkildə qaytarmağa imkan verir.

Həmçinin baxın:

 git add -p 
85
10 окт. cavab Oct 10 verildi 2014-10-10 15:31 '14 də 15:31 2014-10-10 15:31

Heç bir cavab mən istifadə etdiyim birləşmənin tam bir variantını təklif etdiyindən, burada:

 git clean -dfx git checkout . 

git clean istifadə edilən git clean seçimlər üçün onlayn yardım git clean :

-d

Ham fayllara əlavə olaraq lazımsız kataloqları silin. Etməmiş bir qovluq başqa bir Git deposu tərəfindən idarə edildiyində, default olaraq silinmir. Həqiqətən belə bir kataloqu aradan qaldırmaq istəyirsinizsə, iki dəfə -f seçimini istifadə edin.

-f

Git clean.requireForce konfiqurasiya dəyişəninə false deyilsə, Git təmiz faylları və ya qovluqları -f , -n və ya -i göstərilmədiyi halda clean.requireForce imtina edəcək. Git bir .git alt .git və ya faylda .git imtina edəcək -f second -f .

-x

.gitignore (hər bir kataloq üçün) və $GIT_DIR/info/exclude , lakin -e variantları ilə göstərilən $GIT_DIR/info/exclude qaydalarından istifadə qaydalarından istifadə etməyin. Bu, məhsulların montajı daxil olmaqla, bütün işlənməmiş faylları silmək üçün imkan verir. Təmiz bir quruluş yoxlamaq üçün toxunmamış bir işçi qovluğu yaratmaq üçün bu, istifadə edilə bilər (ehtimalla git reset ilə birlikdə).

Bundan əlavə, git checkout. repo kökündə həyata keçirilməlidir.

68
28 апр. Martin G tərəfindən verilmiş cavab 28 Apr. 2016-04-28 22:46 '16 saat 10:46 'da 2016-04-28 22:46

Mən əslində bu məqaləni hansı komandan istifadə edəcəyini izah etmək üçün faydalı tapdım: http://www.szakmeister.net/blog/2011/oct/12/reverting-changes-git/

Bir neçə fərqli vəziyyət var:

  • Dosyayı git checkout , git checkout istifadə edin. Checkout "endeksindəki versiyaya görə iş ağacında faylları yeniləyir". Dosyalar təslim edilmədikdə (indeksə də əlavə olundu) ... bu əmr əsasən faylları ən son düzəlişinizə qaytaracaqdır.

    git checkout -- foo.txt

  • Dosyayı qoyursanız, sıfırlama sıfırlama istifadə edin. Təminata görə indeksləri dəyişin.

    git reset -- foo.txt

Bir az daha az təhlükə olduğu kimi, git stash istifadə etmək məşhur seçimdir ki, şübhə edirəm. Git sıfırlama istifadə edərkən yanlışlıkla çox silmək halında daima geri dönə bilərsiniz. Sıfırlama, varsayılan olaraq özyinelemedir.

Daha çox məsləhətlər üçün yuxarıda yazıya bir göz atın.

53
14 авг. cavab blak3r 14 aug verilir . 2012-08-14 00:31 '12 at 0:31 2012-08-14 00:31

Bunun ən asan yolu bu əmrdən istifadə etməkdir:

Bu əmr iş dizinindəki dəyişiklikləri geri qaytarmaq üçün istifadə olunur -

 git checkout -- . 

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

Git komutunda, xam fayllarına yapışaraq istifadə edilir:

 git stash -u 

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

45
12 апр. AHM Forhadul Islam 12 aprel 2017-04-12 12:27 '17 də 12:27 2017-04-12 12:27

Əgər müəyyənləşdirilməmiş dəyişiklikləri yadda saxlamaq istəyirsinizsə (xüsusən mərhələli dəyişikliklər yeni fayllar olsa) mən rahat olduğunu tapdım:

 git diff | git apply --reverse 
41
28 июля '11 в 8:27 2011-07-28 08:27 Cavab Joshua Kunzmann tərəfindən 28 iyul '11 'də saat 08:27 ' də verildi. 2011-07-28 08:27

Git statusunu daxil edərkən (iş kitabçasında dəyişiklikləri ləğv etmək üçün "git checkout -..." istifadə edin ) .

məsələn. git checkout -- .

39
17 мая '16 в 14:27 2016-05-17 14:27 Cavab Erdem ÖZDEMİR tərəfindən 17 May '14 ' da 14:27 2016-05-17 14:27' də verilir

git checkout -f


man git-checkout :

-f, --force

Şöbələri keçərkən işə davam etsəniz, indeks və ya iş ağacı HEAD'dan fərqli olsa da. Yerli dəyişiklikləri aradan qaldırmaq üçün istifadə olunur.

Dizindəki yolları yoxlayarkən, icazəsiz girişlər uğursuz olma; əvəzinə nəzərə alınmayan girişlər nəzərə alınmır.

38
17 мая '14 в 5:28 2014-05-17 05:28 cavab Bijan 17 may '14 'də verilir 5:28 2014-05-17 05:28

Git stash istifadə edə bilərsiniz - bir şey yanlış gedir, siz hələ də cüzdan dönə bilər. Burada başqa bir cavab kimi, lakin bu da bütün silinməmiş faylları, eləcə də silinməmiş bütün silmələri də silinir:

 git add . git stash 

hər şeyin yaxşı olduğunu yoxlayarsanız, önbelleği buraxın:

 git stash drop 

Bilal Maqsuddan istifadə edərək, git clean təmizlə mənim üçün də işləyirdi, amma tətbiqi ilə daha çox nəzarəti var - təsadüfən bunu etsəm, yenə də dəyişikliklərimi geri qoya bilərəm

ƏLAVƏ OLUNUB

Hesab edirəm ki, başqa bir dəyişiklik var (əvvəlcə mənim üçün nə işlədiyini bilmirəm):

git add . -A git add . -A əvəzinə git add .

olmadan -A silinmiş fayllar yerləşdirilməyəcək

33
11 сент. Cavab sentyabrın 11-nə təyin edildi 2015-09-11 14:59 '15 at 2:59 pm 2015-09-11 14:59

Dəyişiklikləri atmaq əvəzinə mənim konsolumu əvvəlcədən sıfırlayıram. Qeyd Bu metod qovluğunu repo vasitəsilə tam bərpa etmək üçün nəzərdə tutulmuşdur.

Ona görə mən bunu yenidən qurmağımda (sonradan mənşə / şöbə adına gitignores istisna olmaqla)

Qeyd. Faylların hələ izlənilməməsini istəyirsən, lakin GITIGNORE-da deyil, bu addımı atlaya bilərsiniz, çünki bu, uzaq havuzda olmayan qeyri-fosil faylları məhv edəcəkdir (@ XtrmJosh sayəsində).

 git add --all 

Sonra mən

 git fetch --all 

Sonra başlanğıcı sıfırlayıram

 git reset --hard origin/branchname 

Bu, meydanda qaytaracaq. Yəqin ki, filialın RE-klonlanması kimi, mənim bütün gitignored faylları yerli və yerlərdə saxlayır.

Aşağıdakı istifadəçi şərhinə yeniləndi: İstifadəçinin aktiv olduğu hər hansı bir filialın yenidən qurulmasına dəyişdirin.

 git reset --hard @{u} 
31
08 авг. Cavab Nick 08 aug verilir . 2015-08-08 00:15 '15 'də 0:15 ' da 0 2015-08-08 00:15

Yalnız mövcud fayllarındakı dəyişiklikləri silmək istəyirsinizsə, checkout istifadə edin ( burada sənədləşdirilmişdir ).

 git checkout -- . 
  • Şöbə göstərilmir, belə ki, mövcud filialı yoxlayır.
  • Cüt tire ( -- ), Geeta'ya şöbənin dəqiqləşdirilməsini qaçırdığınız üçün ikinci arqument (yol) üçün aşağıdakıların alınması lazım olduğunu bildirir.
  • Dövr ( . ) Bütün yolları göstərir.

Sonuncu işdən sonra əlavə edilmiş faylları silmək istəsəniz, clean ( burada sənədləşdirilmişdir ):

 git clean -i 
  • -i səhv silinmələrin qarşısını almaq üçün interaktiv clean başladır.
  • Daha sürətli icra etmək üçün bir neçə digər variant var; sənədlərə baxın.

Daha sonra giriş üçün saxlama yerlərində dəyişikliklər etmək istəyirsinizsə, stash ( burada sənədləşdirilmiş ) istifadə edin:

 git stash 
  • Bütün dəyişikliklər sonradan mümkün ola bilməsi üçün Git Stash-a köçürüləcək.
  • Daha yaxşı birləşmə üçün bir neçə variant mövcuddur; sənədlərə baxın.
25
18 марта '18 в 3:19 2018-03-18 03:19 Cavab 18 mart 18, 3:19 , 2018-03-18 03:19 tarixində verilir

Yuxarıda göstərilən həllərin hamısını sınamışam, amma hələ də silinməmiş yeni fayllardan xilas ola bilmədi.

Bu yeni faylları aradan qaldırmaq üçün git clean -f istifadə edin - diqqətlə! Enerji parametrinə diqqət yetirin.

25
15 окт. Artur tərəfindən verilmiş cavab 15 oktyabr 2011-10-15 00:07 '11 'də 0:07' da 2011-10-15 00:07

deyirlər

 git stash 

Bütün yerli dəyişikliklərinizi aradan qaldıracaq. Daha sonra da deyərək istifadə edə bilərsiniz

 git stash apply 

və ya stash pop

20
24 апр. 24 apreldə piyushmandovra tərəfindən verilən cavab 2015-04-24 15:19 '15 'də 15:19' de 2015-04-24 15:19

Yalnız istifadə edin:

 git stash -u 

Yapılır. Asan

Yığın yığını həqiqətən git stash drop etsəniz, gedə bilmək git stash drop . Ancaq bu anda Mariusz Novakdan daha yaxşı istifadə etdiniz:

 git checkout -- . git clean -df 

Bununla birlikdə, mən yaxşı bir şey istəmirəm, çünki yalnız bir əmrdə bütün izlənilən və sınanmamış dəyişiklikləri "atır". Hələ git checkout -- . yalnız izlənilən dəyişiklikləri git clean -dfgit clean -df yalnız git clean -df dəyişiklikləri ləğv edir ... və hər iki komandaya daxil olmaq çox işləyir :)

20
08 сент. Ben Wilde tərəfindən verilmiş cavab Sep 08 2016-09-08 09:19 '16 at 9:19 2016-09-08 09:19

Hətta dizinlərdə işləyir; normal git icazələrindən kənarda.

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

Bu yaxınlarda baş verib

16
05 сент. Cavab GlassGhost tərəfindən verilib. 2013-09-05 12:38 '13 'da 12:38' də 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 Cavab verilir vivekporwal04 May 30, '14 da 12:26 2014-05-30 12:26

Repo vəziyyətinizin nə olursa olsun, həmişə əvvəlki bütün qeydləri sıfırlaya bilərsiniz:

 git reset --hard <commit hash> 

Bu, bu əməldən sonra edilmiş bütün dəyişiklikləri geri qaytaracaqdır.

10
05 февр. cavab 05 mart feb . 2016-02-05 03:59 '16 at 3:59 2016-02-05 03:59

Gitdən daha dəqiq olan yeni fayllardan qurtulmanın başqa üsulu - (bu, mütləq olmayan bir neçə fayldan qurtulmanıza imkan verəcək) - index faylına yeni fayllar əlavə etmək, sonra yerləşdirmək, daha sonra cache buraxmaqdır.

Hər hansı bir səbəbdən bir sıra adi mexanizmlər (məsələn, rm) ilə bütün xammal faylları asanlıqla silə bilməyəcəyiniz zaman bu metod faydalıdır.

10
15 июня '12 в 11:55 2012-06-15 11:55 Cavab 15 iyun 2012-ci il saat 11: 55-də verilir. 2012-06-15 11:55

Mənim fikrimcə

 git clean -df 

Hiylə qurmaq lazımdır. Git gitmek təmiz sənəd sənədlərinə görə

git -clean - iş ağacından işlənməmiş faylları sil

Təsvir

Mövcud kataloqdan başlayan versiya nəzarətində olmayan faylları təkrarlanan şəkildə silməklə iş ağacını təmizləyir.

Adətən, yalnız bilinməyən fayllar silinir, lakin -x variantını istifadə edildikdə, fayllar da nəzərə alınmır. Bu, məsələn, bütün montaj məhsullarının çıxarılması üçün faydalı ola bilər.

Hər hansı bir isteğe bağlı arqument verilirsə ... yalnız bu yollar təsirlənir.

Seçimlər

-d İzinsiz fayllara əlavə olaraq lazımsız dizinləri silin. İmzalı olmayan bir qovluq başqa bir git kitabxanası tərəfindən idarə edildiyində, bu default olaraq silinməyəcək. Həqiqətən belə bir qovluğu silmək istəsəniz, -f seçimini iki dəfə istifadə edin.

-f -force Əgər go-to-clean.requireForce konfiqurasiya dəyişəninə false deyilsə, go-to-f, -n, və ya -i göstərilmədiyi təqdirdə, başlamazdan imtina edəcəkdir.

9
14 июля '16 в 10:03 2016-07-14 10:03 Cavab Lahiru 14 iyul, 16 saat 10:03 2016-07-14 10:03 tarixində verilir

Əgər repository faylı ilə işlədiyiniz halda, məsələn, başqa bir repo ilə müntəzəm olaraq sinxronlaşdırmağınız (məsələn, transfer tələbi) ilə bağlı həqiqətən yalnız bir həlldir. Qısa cavab: çəngəl və çarxları çıxarın, lakin github xəbərdarlıqlarını oxuyun .

Bənzər bir problemim var idi, bəlkə də eyni deyil və mənim həllim ideal deyil, amma sonunda təsirli olduğunu söyləmək üzürəm.

Mən tez-tez bu kimi status mesajları göndərərdim (ən azı 2/4 faylları əhatə edirdilər):

 $ 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 

Diqqətlə gözlədiyiniz bu faylda dopplegangers var ki, off halda halda yalnız məktub var. Hər halda, məni bu yola gətirməyə gətirib çıxardığım barədə heç bir fikrim yoxdur (bu faylları yuxarı repo ilə işləməmiş olduğumdan) bu faylları dəyişdilər. Bu səhifədəki (və digər səhifələri) siyahıda göstərilən bir çox həllin köməyi ilə çalışmayın.

Mən branşlı depoyumu və bütün yerli depolarımı silmək və geri qayıtmaqla problemi düzəldirdim. Tək başına kifayət deyil; upstream sözügedən faylları yeni fayl adlarına dəyişmiş olmalıdır. Heç bir sınıq işiniz olmadığı müddətcə, heç bir wiki və depodan ayrılacaq heç bir problem yoxdur, yaxşı olmalısınız. Ən azından, Upstream sizdən çox məmnun olmaya bilər. Mənim problemimə gəldikdə, bu, şübhəsiz ki, bir istifadəçi səhvidir, çünki bu git təcrübəmiz yoxdur, amma bu, düzəldilməkdən uzaqdır ki, git ilə bağlı bir problem olduğunu göstərir.

9
05 янв. Cavab bbarker 05 jan tərəfindən verilir . 2014-01-05 07:53 '14 at 07:53 2014-01-05 07:53

Bir başqasına çek qoymaq istəyirsinizsə:

 # 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 

Şərhlə əlaqədar olaraq [redaktə], stashes deyilə bilər. Cüzdanınızı bölüşmək istəyirsinizsə bunu istifadə edin;)

7
08 июля '13 в 18:07 2013-07-08 18:07 Cavab iki dəfə verilir 08 iyul 'da 18:07 2013-07-08 18:07

Bütün addım-addım fayllar həqiqətən sabitləşdisə, filial yalnız bir sıfırlama ola bilər, məsələn. üç siçan ilə GUI-dən: Vetka , Reset , Yes !

Buna görə də, istənməyən yerli dəyişiklikləri geri qaytarmaq üçün tez-tez tətbiq etdiyim bütün yaxşı şeyləri köçürmək və filialı yenidən qurmaqdır.

Yaxşı şeylər bir öhdəliyə bağlıdırsa, sonda bir az fərqli hala gətirmək istəsəniz, "sonuncu dəyişiklikləri" dəyişə və ya ayağa qaldırmaq üçün istifadə edə bilərsiniz.

Bu sizin probleminizi aradığınız texniki həll ola bilməz, amma bu, çox praktik bir həll olduğunu düşünürəm. Bu, dəyişməz dəyişiklikləri seçici şəkildə geri almağa, xoş olmayan dəyişiklikləri yenidən qurmağa və etdiyiniz şeyi saxlamağa imkan verir.

Beləliklə, mən yalnız törətdilər , filial sıfırlandısonuncu işi dəyişdirdilər .

6
20 марта '15 в 18:38 2015-03-20 18:38 Cavab İstifadəçi tərəfindən verilir 3070485 20 Mart 'da 18:38' də 2015-03-20 18:38

Bunu təsvir edən şəkildə necə edəcəyini təsvir edən öz aliasınızı yarada bilərsiniz.

Dəyişiklikləri ləğv etmək üçün aşağıdakı ləqəbi istifadə edirəm.


Çalışma ağacında (siyahı) fayl (lar) daki dəyişiklikləri sil

 discard = checkout -- 

Sonra bütün dəyişiklikləri silmək üçün istifadə edə bilərsiniz:

 discard . 

Və ya yalnız bir fayl:

 discard filename 

Əks təqdirdə, bütün dəyişiklikləri və istifadə edilməmiş faylları geri qaytarmaq istəyirsinizsə, mən çek və birləşməni istifadə edirəm:

Dəyişiklikləri təmizləyin və ləğv edin və iş ağacında faylları izləməyin

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

Buna görə də istifadə sadədir:

 cleanout 

İndi aşağıdakı Github deposunda mövcuddur, bir çox alias ehtiva edir:

5
05 июня '17 в 7:44 2017-06-05 07:44 Cavab Pau tərəfindən 05 iyun '17' də 7:44 2017-06-05 07:44 'də verilir

Yalnız fayl icazələrini dəyişdirdiyiniz halda (bu DOS / Windoze-də) həll variantlarının heç biri işləmir.

 Mon 23/11 / 2015-15: 16: 34.80 C: \ ... \ work \ checkout \ slf4j +> git durumu SLF4J_1.5.3 filialında Təqdim etmək üçün səhnələşdirilən dəyişikliklər:   (nə edəcəyini yeniləmək üçün "git add ..." istifadə edin)   (iş siyahısında dəyişiklikləri ləğv etmək üçün "git checkout - ..." istifadə edin) redaktə: .gitignore değiştirildi: LICENSE.txt değiştirildi: TODO.txt redaktə: codeStyle.xml redaktə: pom.xml redaktə: version.pl Təqdim etmək üçün heç bir dəyişiklik edilməyib ("git add" və / və ya "git commit-a" istifadə edin) Mon 23/11 / 2015-15: 16: 37.87 C: \ ... \ work \ checkout \ slf4j +> git diff diff - git a / .gitignore b / .gitignore köhnə rejimi 100644 yeni rejim 100755 dif - git a / LICENSE.txt b / LICENSE.txt köhnə rejimi 100644 yeni rejim 100755 dif - git a / TODO.txt b / TODO.txt köhnə rejimi 100644 yeni rejim 100755 diff - qit a / codeStyle.xml b / codeStyle.xml köhnə rejimi 100644 yeni rejim 100755 diff - a / pom.xml b / pom.xml köhnə rejimi 100644 yeni rejim 100755 diff - git a / version.pl b / version.pl köhnə rejimi 100644 yeni rejim 100755 Mon 23/11 / 2015-15: 16: 45.22 C: \ ... \ work \ checkout \ slf4j +> git sıfırlama --HARD HEAD HEAD artıq 8fa8488 12133-CHIXMISSINGMESSAGES MALCOLMBOEKHOFF 20141223124940 əlavə edildi .gitignore Mon 23/11 / 2015-15: 16: 47.42 C: \ ... \ work \ checkout \ slf4j +> git clean -f Mon 23/11 / 2015-15: 16: 53.49 C: \ ... \ work \ checkout \ slf4j +> git stash save -u SLF4J_1.5.3 üzrə saxlanılan işçi qovluğu və indeks dövləti WIP: 8fa8488 12133-CHIXMISSINGMESSAGES MALCOLMBOEKHOFF 20141223124940 Əlavə edilib .gitignore HEAD artıq 8fa8488 12133-CHIXMISSINGMESSAGES MALCOLMBOEKHOFF 20141223124940 əlavə edildi .gitignore Mon 23/11 / 2015-15: 17: 00.40 C: \ ... \ work \ checkout \ slf4j +> git stash drop Düşük refs / stash @ {0} (cb4966e9b1e9c9d8daa79ab94edc0c1442a294dd) Mon 23/11 / 2015-15: 17: 06.75 C: \ ... \ work \ checkout \ slf4j +> git stash drop Düşmüş refs / stash @ {0} (e6c49c470f433ce344e305c5b778e810625d0529) Mon 23/11 / 2015-15: 17: 08.90 C: \ ... \ work \ checkout \ slf4j +> git stash drop Heç bir yığma tapılmadı. Mon 23/11 / 2015-15: 17: 15.21 C: \ ... \ work \ checkout \ slf4j +> git checkout -. Mon 23/11 / 2015-15: 22: 00.68 C: \ ... \ work \ checkout \ slf4j +> git checkout -f -. Mon 23/11 / 2015-15: 22: 04.53 C: \ ... \ work \ checkout \ slf4j +> git durumu SLF4J_1.5.3 filialında Təqdim etmək üçün səhnələşdirilən dəyişikliklər:   (nə edəcəyini yeniləmək üçün "git add ..." istifadə edin)   (iş siyahısında dəyişiklikləri ləğv etmək üçün "git checkout - ..." istifadə edin) redaktə: .gitignore değiştirildi: LICENSE.txt değiştirildi: TODO.txt redaktə: codeStyle.xml redaktə: pom.xml redaktə: version.pl Təqdim etmək üçün heç bir dəyişiklik edilməyib ("git add" və / və ya "git commit-a" istifadə edin) Mon 23/11 / 2015-15: 22: 13.06 C: \ ... \ work \ checkout \ slf4j +> git diff diff - git a / .gitignore b / .gitignore köhnə rejimi 100644 yeni rejim 100755 dif - git a / LICENSE.txt b / LICENSE.txt köhnə rejimi 100644 yeni rejim 100755 dif - git a / TODO.txt b / TODO.txt köhnə rejimi 100644 yeni rejim 100755 diff - qit a / codeStyle.xml b / codeStyle.xml köhnə rejimi 100644 yeni rejim 100755 diff - a / pom.xml b / pom.xml köhnə rejimi 100644 yeni rejim 100755 diff - git a / version.pl b / version.pl köhnə rejimi 100644 yeni rejim 100755

Bunu düzəldən yeganə yol, dəyişdirilmiş fayllarda icazələrin əl ilə sıfırlanmasıdır:

 Mon 23/11 / 2015-15: 25: 43.79 C: \ ... \ work \ checkout \ slf4j +> git status -s |  egrep "^ M" |  cut -c4- | |  for / f "usebackq tokens = * delims ="% A (`` `daha çox) do chmod 644% A Mon 23/11 / 2015-15: 25: 55.37 C: \ ... \ work \ checkout \ slf4j +> git status SLF4J_1.5.3 filialında törətmək üçün heç bir şey, iş directory təmiz Mon 23/11 / 2015-15: 25: 59.28 C: \ ... \ work \ checkout \ slf4j +> Mon 23/11 / 2015-15: 26: 31.12 C: \ ... \ work \ checkout \ slf4j +> git diff
5
23 нояб. Cavab Malcolm Boekhoff tərəfindən 23 noyabrda verilir . 2015-11-23 07:30 '15 'də 07:30' de 2015-11-23 07:30

Bir submodül halında olduğunuz halda və başqa heç bir həll işləmirsinizsə, cəhd edin:

  • Problemin (ehtimal ki, çirkli halda) olduğunu yoxlamaq üçün aşağıdakıları istifadə edin:

    git diff

  • Gizli mətni çıxarmaq üçün

    git submodule update

5
02 окт. cavab onalbi 02 oktyabrda verilir . 2015-10-02 00:32 '15 at 0:32 2015-10-02 00:32

Dosyanın hər zaman itkin düşdüyündə qəribə bir vəziyyət yaşadım, bu da məni həll etməyə kömək edir.

git rm.gitattributes
git add -A
git sıfırlama - xard

5
08 февр. Cavab SDV 08 fevralda verilir. 2017-02-08 14:58 '17 at 2:58 pm 2017-02-08 14:58
  • 1
  • 2

tag ilə bağlı digər suallar və ya sual