Uzaq havzalara köçürülmüş xüsusi bir işi ləğv edin

Xüsusi bir törətmənin ləğvinin ən asan yolu nədir:

  • baş və ya baş deyil
  • Uzaq bir kompüterə tıklandı.

Çünki bu son düzəliş deyilsə,

 git reset HEAD 

işləmir. Və uzaqdan tıklandığından,

 git rebase -i 

 git rebase --onto 

konsollarda bəzi problemlərə səbəb olacaq.

Üstəlik, hekayəni həqiqətən dəyişdirmək istəmirəm. Kötü bir kod varsa, tarixdə var idi və görülə bilər. Mən yalnız bir iş kopyasında olmasını istəyirəm və birləşməni təyin etməyimə zəmanət vermirəm.

Başqa sözlə, Git'in sözü aşağıdakı svn əmrlərinə bərabərdir:

 svn merge -r 303:295 http://svn.example.com/repos/calc/trunk 

bu dəyişikliklərin bütün dəyişikliklərini yeni bir tövsiyə olaraq birləşdirərək bütün dəyişiklikləri 295-dən 302-ə endirir.

 svn merge -c -302 ^/trunk 

Əlbəttə ki, 302 işi ləğv edən başqa bir öhdəlik əlavə edərək, dəyişiklikləri müvafiq əməllərlə birləşdirir.

Mən bunu Gitdə kifayət qədər sadə bir əməliyyat və olduqca ümumi istifadə vəziyyətində olmağı düşündüm. Atom əməllərinin mənası nədir?

Sıxıntılar və əməllərin tamamilə atomik olmasını təmin etmək üçün hər şey var, bu atomlardan birini və ya bir neçəsini asanlıqla sabitlədə bilməzsiniz?

527
23 февр. Lakshman Prasad tərəfindən 23 Fevralda təyin olundu 2010-02-23 17:21 '10 at 17:21 2010-02-23 17:21
@ 3 cavab

git log qeydini istifadə edərək, bir git log müəyyən edin, sonra bu dəyişiklikləri aradan qaldırmaq üçün yeni bir öhdəlik yaratmaq üçün git revert <commit> istifadə edin. Bir mənada git revert git cherry-pick geri simvoludur - sonuncu onu itirdiyi filiala yamaq tətbiq edir, birincisi onu filialdan çıxarır.

829
23 февр. Cavab 23 fevralda Andrew Aylett tərəfindən verilir. 2010-02-23 17:31 '10 at 17:31 2010-02-23 17:31

Mənə git revert üçün avtomatik törətməyi xoşlamıram, buna görə bəziları faydalı ola bilər.

Değiştirilen dosyaların avtomatik olaraq --no-commit isterseniz, --no-commit

 % git revert --no-commit <commit hash> 
border=0

olan -n ilə eyni

 % git revert -n <commit hash> 
250
17 мая '13 в 1:50 2013-05-17 01:50 cavab naomik 17 May '13 'da 1:50 2013-05-17 01:50 verilir

Artıq basdırılmış olduğundan, birbaşa hekayəni manipulyasiya etməməlisiniz. git revert qayıtmaq tarixini manipulyasiya etməmək üçün yeni bir öhdəlikdən istifadə edərək müəyyən dəyişiklikləri qaytaracaq.

30
23 февр. 23 Fevralda moatPylon tərəfindən verilmiş cavab. 2010-02-23 17:28 '10 at 17:28 2010-02-23 17:28

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