Гит

Гит Како да вратим последњу урезивање?

Гит Како да вратим последњу урезивање?
Гит је ефикасан алат који прати ваш код. А једна од сјајних карактеристика алата је та што лако можете да проверите своју историју и вратите се назад ако сте погрешили. Створимо ситуацију у којој можете да вратите последњу урезивање и видимо како функционише наредба Гит реверт.

Почећемо са додавањем неколико датотека. При последњем урезивању додаћемо и избрисати датотеке како бисмо створили неуредну ситуацију. Тада ћемо се вратити у стање пре хаоса.

Можете да креирате фасциклу која се зове / тест и покренете следеће команде да бисте иницијализовали Гит и креирали ситуацију описану горе (Ми намерно радимо одвојене завезе да бисмо креирали историју):

$ гит инит
Иницијализовано празно Гит спремиште у / Усерс / закх_еецс / _ворк / ЛеарнГИТ / гит_реверт / тест /.гит /
$ ецхо к> датотека_1.ткт
$ гит адд -А
$ гит цоммит -м "Додавање датотеке_1.ткт "
[мастер (роот-цоммит) 08цаф5д] Додавање датотеке_1.ткт
1 датотека промењена, 1 уметање (+)
креирајте режим 100644 филе_1.ткт
$ ецхо и> филе_2.ткт
$ гит адд -А
$ гит цоммит -м "Додавање датотеке_2.ткт "
[мастер ба18а2ф] Додавање датотеке_2.ткт
1 датотека промењена, 1 уметање (+)
креирајте режим 100644 филе_2.ткт
$ ецхо з> филе_3.ткт
$ гит адд -А
$ гит цоммит -м "Додавање датотеке_3.ткт "
[мастер 97ф09ад] Додавање датотеке_3.ткт
1 датотека промењена, 1 уметање (+)
креирајте режим 100644 филе_3.ткт
$ ецхо у> филе_4.ткт
$ гит адд -А
$ гит цоммит -м "Додавање датотеке_4.ткт "
[мастер 9цаф084] Додавање датотеке_4.ткт
1 датотека промењена, 1 уметање (+)
креирајте режим 100644 филе_4.ткт
$ ецхо в> филе_5.ткт
$ гит адд -А
$ гит цоммит -м "Додавање датотеке_5.ткт "
[мастер 3ф228б2] Додавање датотеке_5.ткт
1 датотека промењена, 1 уметање (+)
креирајте режим 100644 филе_5.ткт

Ако проверимо нашу фасциклу, требало би да видимо следећу ситуацију:

$ лс -1
филе_1.ткт
филе_2.ткт
филе_3.ткт
филе_4.ткт
филе_5.ткт

Ако проверимо историју, требало би да имамо следеће датотеке:

$ гит лог --онелине
3ф228б2 Додавање датотеке_5.ткт
9цаф084 Додавање датотеке_4.ткт
97ф09ад Додавање датотеке_3.ткт
ба18а2ф Додавање датотеке_2.ткт
08цаф5д Додавање датотеке_1.ткт

Хајде сада да направимо пустош, избрисаћемо неколико датотека и додати лошу датотеку.

$ рм датотека_2.ткт
$ рм датотека_4.ткт
$ ецхо в> ми_бад_филе.ткт
$ гит адд -А
$ гит цоммит -м "Додавање и брисање датотека без размишљања о последицама"
[мастер 879фбф8] Додате и избрисане датотеке без размишљања о последицама
3 датотеке су промењене, 1 уметање (+), 2 брисања (-)
начин брисања 100644 филе_2.ткт
начин брисања 100644 филе_4.ткт
креирај режим 100644 ми_бад_филе.ткт

Ово је услов наше фасцикле:

$ лс -1
филе_1.ткт
филе_3.ткт
филе_5.ткт
ми_бад_филе.ткт

И ово је услов наше историје:

$ гит лог --онелине
879фбф8 Додате и избрисане датотеке без размишљања о последицама
3ф228б2 Додавање датотеке_5.ткт
9цаф084 Додавање датотеке_4.ткт
97ф09ад Додавање датотеке_3.ткт
ба18а2ф Додавање датотеке_2.ткт
08цаф5д Додавање датотеке_1.ткт

Схватамо да не желимо последњи урез 879фбф8. Дакле, користимо следећу наредбу реверт:

$ гит враћа 879фбф8

Отвориће се текстуални прозор за уређивање аутоматског коментара:

Врати „Додате и избрисане датотеке без размишљања о последицама“
 
Ово враћа урезивање 879фбф849ц4бд6фб9а377604д6355ц76б92а832ц.
 
# Унесите поруку урезивања за ваше промене. Линије почињу
# са '#' ће се занемарити, а празна порука прекида урезивање.
# О мајстору гране
# Измене које треба извршити:
# Нова датотека: датотека_2.ткт
# Нова датотека: датотека_4.ткт
# Избрисано: ми_бад_филе.ткт
#

Можете да измените коментар. Задржаћемо је онакву каква јесте. Чим сачувате прозор коментара, извршиће се задатак враћања:

$ гит враћа 879фбф8
[мастер 6е80ф0е] Врати „Додате и избрисане датотеке без размишљања о последицама“
3 датотеке су промењене, 2 уметања (+), 1 брисање (-)
креирајте режим 100644 филе_2.ткт
креирајте режим 100644 филе_4.ткт
начин брисања 100644 ми_бад_филе.ткт

Погледајмо сада нашу фасциклу:

$ лс -1
филе_1.ткт
филе_2.ткт
филе_3.ткт
филе_4.ткт
филе_5.ткт

Наше датотеке се враћају у низу као и раније. Враћени су сви додаци и брисања. Проверимо евиденцију:

$ гит лог --онелине
 
6е80ф0е Врати „Додате и избрисане датотеке без размишљања о последицама“
879фбф8 Додате и избрисане датотеке без размишљања о последицама
3ф228б2 Додавање датотеке_5.ткт
9цаф084 Додавање датотеке_4.ткт
97ф09ад Додавање датотеке_3.ткт
ба18а2ф Додавање датотеке_2.ткт
08цаф5д Додавање датотеке_1.ткт

Нова је обавеза 6е80ф0е. Све промене које су биле део 879фбф8 је поништено, а затим почињено у 6е80ф0е.

Упозорење: Команда Гит ресет вам омогућава и да опозовете урезивање. Али у случају ресетовања (посебно хард ресет), то би избрисало 879фбф8 почини се као да се никада није догодило и не би било 6е80ф0е урадити. Помоћу наредбе за враћање сви могу да виде промене које су се догодиле. У случају ресетовања није остао траг. Стога је лоша идеја користити наредбу ресет у јавном спремишту, јер то може изазвати масовну забуну. Златно правило је - немојте користити ресет у јавним спремиштима, користите повратак који је сигурнији.

У закључку:

Наредба Гит реверт је брз и прикладан начин да исправите своје грешке. То је наредба коју бисте требали запамтити ако редовно радите са Гит-ом.

Даље истраживање:

Портови комерцијалних игара отвореног кода
Бесплатне рекреације покретачких игара са отвореним кодом и више платформи могу се користити за играње старих, као и неких прилично недавних наслова и...
Најбоље игре командне линије за Линук
Командна линија није само ваш највећи савезник када користите Линук - она ​​такође може бити извор забаве јер је можете користити за играње многих заб...
Најбоље апликације за мапирање гамепада за Линук
Ако волите да играте игре на Линуку са гамепадом уместо са типичним системом за унос тастатуре и миша, за вас постоје неке корисне апликације. Многе и...