Файлдар мен қалталарды қоса алғанда, рұқсатсыз өзгерістерді қалай қайтаруға болады?

Жұмыс ағашында және индексте барлық қабылданбаған өзгерістерді қайтаруға, сондай-ақ жаңадан жасалған файлдар мен қалталарды жоюға арналған «гоп» пәрмені бар ма?

737
27 апр. MEM 27 аптаны орнатыңыз . 2011-04-27 19:06 '11 at 19:06 2011-04-27 19:06
@ 10 жауап

Осы екі пәрменді іске қосуға болады:

 # 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 апр. жауап htanata 28 сәу 2011-04-28 05:37 '11, 5: 37-те 2011-04-28 05:37

Өзгерістерді ағымдағы жұмыс каталогында ғана жойғыңыз келсе, пайдаланыңыз

 git checkout -- . 
border=0

Бұл көмектеседі деп үміттенемін.

417
21 июня '13 в 7:41 2013-06-21 07:41 жауапты Рамашиш Баранвал 21 маусымда сағат 7: 41-де 2013-06-21 07:41

Жұмыс каталогындағы өзгерістерді жою үшін «git checkout -...» пайдаланыңыз.

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

немесе

 git checkout -- * 

мысалы, гитара күйінде жойылған файлдарға жасалған барлық өзгертулерді жояды

 modified: app/controllers/posts.rb modified: app/views/posts/index.html.erb 
77
13 марта '13 в 4:16 2013-03-13 04:16 жауап 13-ші наурызда 13: 13-де Зарне Дравицкиге беріледі. 2013-03-13 04:16

Бір нетривиалды емес жол осы екі команданы орындау болып табылады:

  • git stash Бұл сіздің өзгертулеріңізді босатып, HEAD күйіне қайтарады.
  • git stash drop Бұл соңғы пәрменде жасалған соңғы кэшті жояды.
35
18 июля '13 в 12:20 2013-07-18 12:20 жауап 18 шілдеде сағат 12: 20-дағы glumgold арқылы беріледі. 2013-07-18 12:20
 git clean -fd 

көмектесті, жаңа файлдар пайда болды. Мен жасаған барлық жұмыс ағашынан толығымен жойылады

 git reset --hard 

« Жердегі жергілікті жұмыс каталогын қалай тазарту керек? » Бөлімін қараңыз . Тазалау үшін -x опциясын қосу үшін:

 git clean -fdx 

Ескерту -x жалаушасы Git арқылы еленбейтін барлық файлдарды -x тастайды, сондықтан сақ болыңыз (мен жауапта талқылауды қараңыз).

12
15 окт. жауап 15 oct Fr0sT берілген . 2012-10-15 09:57 '12 at 9:57 2012-10-15 09:57

Менің ойымша, келесі пәрменді қолдануға болады: git reset --hard

10
27 апр. Reply by Josnidhin 27 сәу 2011-04-27 19:10 '11 at 19:10 2011-04-27 19:10

Файлдар жойылмаған сияқты болуы мүмкін екенін ескеріңіз, бірақ олар өзгертілмеуі мүмкін, бірақ GOF оларды CRLF / LF өзгерістеріне байланысты өңделетін ретінде белгілеуі мүмкін. Жақында .gitattributes кейбір өзгерістер енгізгеніңізді .gitattributes .

Менің жағдайда CRLF параметрлерін .gitattributes файлына қосып, барлық файлдар «өзгерген файлдар» тізімінде қалды. Параметрлерді өзгерту: Gitattributes оларды жоғалтты.

4
19 июля '16 в 13:07 2016-07-19 13:07 Жауап Rob Quist 19 шілде, 13:07 2016-07-19 13:07

Қауіпсіз және ұзақ жол:

  • 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 нояб. Жауап Джейсон Лемай 19 қараша 2013-11-19 05:08 '13 at 5:08 2013-11-19 05:08

Пайдаланыңыз:

 git reset HEAD filepath 

Мысалы:

 git reset HEAD om211/src/META-INF/persistence.xml 
-3
09 февр. 09 ақпанда Aniket берген жауап 2015-02-09 16:18 '15 at 16:18 2015-02-09 16:18

Әдетте бұл әдісті жақсы қолданамын:

 mv fold/file /tmp git checkout fold/file 
-3
08 апр. Жауап беру by thinkhy 08 сәу. 2016-04-08 10:17 '16 at 10:17 2016-04-08 10:17

Тегтер туралы басқа сұрақтар немесе Сұрақ қойыңыз