Dosyalar və qovluqlar daxil olmaqla, dəyişilməz dəyişiklikləri necə qaytarmaq olar?

Çalışma ağacında və dizindəki bütün uncomputed dəyişiklikləri qaytarmaq və yeni yaradılmış faylları və qovluqları silmək üçün bir git əmri varmı?

737
27 апр. MEM 27 apr. 2011-04-27 19:06 '11 at 19:06 2011-04-27 19:06
@ 10 cavab

Bu iki əmri çalıştırabilirsiniz:

 # Revert changes to modified files. git reset --hard # Remove all untracked files and directories. (`-f` is `force`, `-d` is `remove directories`) git clean -fd 
1263
28 апр. cavab verildi htanata 28 Apr 2011-04-28 05:37 '11 'də saat 05:37' da 2011-04-28 05:37 'də

Değişiklikleri yalnız mövcud iş dizininde atmaq istəyirsinizsə, istifadə edin

 git checkout -- . 
border=0

Bu kömək edir.

417
21 июня '13 в 7:41 2013-06-21 07:41 Cavab Ramashish Baranwal tərəfindən 21 İyun 'da 7:41' də verildi 2013-06-21 07:41

İş siyahısında dəyişiklikləri ləğv etmək üçün "git checkout -..." istifadə edin.

 git checkout -- app/views/posts/index.html.erb 

və ya

 git checkout -- * 

məsələn, git vəziyyətində silinən fayllara edilən bütün dəyişiklikləri silməkdədir

 modified: app/controllers/posts.rb modified: app/views/posts/index.html.erb 
77
13 марта '13 в 4:16 2013-03-13 04:16 Cavab 13 mart 2013-cü il tarixində Zarina Dravitzki üçün 4:16, 2013-03-13 04:16

Bir qeyri-inteqrasiya yolu bu iki əmri yerinə yetirməkdir:

  • git stash Bu sizin dəyişikliklər HEAD dövlət qaytarılması, saklamak üçün hərəkət edəcək.
  • git stash drop Bu son əmrdə yaradılan sonuncu cache silir.
35
18 июля '13 в 12:20 2013-07-18 12:20 Cavab 18 iyul 'da saat 12: 20-də verilir. 2013-07-18 12:20
 git clean -fd 

kömək etmədi, yeni fayllar var idi. Mənim etdiyim işlər bütün iş ağacını tamamilə aradan qaldırır və sonra

 git reset --hard 

" Yerli iş -x necə təmizləmək olar? " -x . -x seçimini təmizləmək üçün:

 git clean -fdx 

Qeyd -x bayrağı Git tərəfindən görülən bütün faylları siləcək, buna görə diqqətli olun ( -x müzakirə bax).

12
15 окт. Cavab 15 oktyabrda Fr0sT tərəfindən verilir . 2012-10-15 09:57 '12 at 9:57 2012-10-15 09:57

Hesab edirəm ki, aşağıdakı komandanı istifadə edə bilərsiniz: git reset --hard

10
27 апр. Apr 27-də Josnidhin tərəfindən verilmiş cavab 2011-04-27 19:10 '11 saat 19:10 'da 2011-04-27 19:10

Xatırlanmayan fayllar hələ də ola bilməz, lakin onlar dəyişilməz ola bilər, lakin keçid CRLF / LF dəyişiklikləri səbəbindən onları düzenlenebilir şəkildə qeyd edə bilər. Son zamanlar .gitattributes üçün bəzi dəyişikliklər etdiyinizi .gitattributes .

Mənim vəziyyətimdə, CRLF parametrlərini .gitattributes faylına əlavə etdim və bu .gitattributes bütün fayllar "dəyişdirilmiş fayllar" siyahısında qaldı. Ayarların dəyişdirilməsi. Gitattributes onları yox etdi.

4
19 июля '16 в 13:07 2016-07-19 13:07 Cavab 19 İyul 2013, 13:07 2016-07-19 13:07 Rob Quist tərəfindən verilir

Təhlükəsiz və uzun yol:

  • git branch todelete
  • git checkout todelete
  • git add .
  • git commit -m "I did a bad thing, sorry"
  • git checkout develop
  • git branch -D todelete
-2
19 нояб. Cavab Jason Lemay tərəfindən 19 Noyabrda verilir 2013-11-19 05:08 '13 'da 5:08' də 2013-11-19 05:08

İstifadə edin:

 git reset HEAD filepath 

Məsələn:

 git reset HEAD om211/src/META-INF/persistence.xml 
-3
09 февр. 09 fevral tarixində Aniket tərəfindən verilmiş cavab. 2015-02-09 16:18 '15 'də 16:18' da 2015-02-09 16:18

Mən çox vaxt yaxşı işləyən bu üsuldan istifadə edirəm:

 mv fold/file /tmp git checkout fold/file 
-3
08 апр. Sitat gətirmək Reply by 08 Apr. 2016-04-08 10:17 '16 at 10:17 2016-04-08 10:17

haqqında başqa suallar və ya bir sual