Гит

Како одабрати трешњу у Гиту

Како одабрати трешњу у Гиту
гит цхерри пицк је особина спајања Гит-а. Али постоји мала разлика у гит цхерри пицк и гит мерге. Такође, случај употребе је другачији. Погледајмо како прво ради гит мерге, а затим упоредимо са гит цхерри пицк. На тај начин ћете разумети када користити гит мерге, а када гит цхерри пицк.

Рецимо, имате Гит спремиште. Радите на господару и направили сте неколико обавезивања (А, Б и Ц) на господару филијала такође.

Сад одједном имате сјајну идеју. Дакле, креирате још једну грану невидеа. Затим сте почели да правите обавезе (Е, Ф и Г) тамо.

Такође сте унели неке измене у господару поново огранка и додао нову предају Х.

Ако је ваша нова идеја успешна, можда бисте желели да је спојите невидеа огранак до господару грана. Рецимо, спојили сте га. Створиће ново урезивање Ја као што видите на доњој слици. Ново урезивање ће садржати све (све промене у урезивањима Е, Ф, и Г) огранка невидеа.

Сада, рецимо, не желите да спојите све завезе огранка невидеа до господару грана. Желите само да обједините промене (мењају се само разлике) у урезивању Ф до господару грана. Овде долази гит цхерри пицк. Гит цхерри пицк вам то омогућава. Само пронађете хеш урезивања које желите да уберете и примените га на жељену грану. Врло једноставна.

У овом чланку ћу вам показати како се бере вишње у Гиту. Па, кренимо.

Ток рада Гит Цхерри Пицк:

У овом одељку поставићу Гит спремиште на начин да ћете разумети зашто се користи гит цхерри пицк и како третирати цхерри пицк у Гит-у.

Прво, иницијализујте празно Гит спремиште цхерри-пицк-демо / као што следи:

$ гит инит цхерри-пицк-демо

Сада идите до спремишта на следећи начин:

$ цд цхерри-пицк-демо /

Сада креирајте главни.ц датотека са следећим садржајем:

Сада додајте датотеку у сценско подручје на следећи начин:

$ гит додај .

Сада извршите промене на следећи начин:

$ гит цоммит -м 'почетно урезивање'

Сада креирајте .гитигноре датотека следећег садржаја:

Додајте датотеку у сценско подручје.

$ гит додај .

Заложите промене:

Додато $ гит цоммит -м ' .гитигноре филе '

Као што видите, сада имам 2 обавезе у свом господару грана.

$ гит лог --онелине

Сада желим да гурнем своје локално Гит спремиште на удаљени Гит сервер како би други људи могли да раде на овом спремишту. И овде можете користити ГитХуб. За ово овде ћу користити локални ССХ сервер.

Дакле, додајте УРЛ удаљеног Гит спремишта на следећи начин:

$ гит ремоте додај порекло гит @ гит.линукхинт.цом: ~ / цхерри-пицк-демо.гит

Сад, притисни господару грана до удаљеног Гит спремишта на следећи начин:

$ гит пусх мастер мастер

Сад, рецимо боб жели да допринесе пројекту. Дакле, клонирао је Гит спремиште на свом рачунару.

$ гит клон гит @ гит.линукхинт.цом: ~ / цхерри-пицк-демо.гит мипројецт

Сада, боб прелази у његов директоријум пројеката.

$ цд мипројецт /

Такође има 2 обавезе које сам додао.

$ гит лог --онелине

Сада боб креира а тест огранак да испроба своје идеје.

$ гит цхецкоут -б тест

Одлучује да промени повратну вредност константом ЕКСИТ_СУЦЦЕСС од стдлиб библиотека.

Додаје промене на сценско подручје.

$ гит додај .

Обавља промене.

$ гит цоммит -м 'користио је ЕКСИТ_СУЦЦЕСС уместо 0 као повратну вредност'

Сада је одлучио да користи функцију принтМессаге () да бисте одштампали поруку. Дакле, он пише функцију.

Поново врши промене.

$ гит додај .
$ гит цоммит -м 'додана функција принтМессаге ()'

Затим, боб користи функцију у програму.

Поново врши промене.

$ гит додај .
$ гит цоммит -м 'користио је функцију принтМессаге () за штампање поруке'

Сада, боб има следеће урезе у тест грана.

Сада, боб гура тест грану до Гит удаљеног спремишта.

$ гит пусх тест порекла

Сада вас Боб зове и говори вам о страшним променама које је направио. Дакле, преузели сте промене на удаљеном спремишту Гит у своје локално спремиште.

$ гит фетцх

Сад видите нову грану порекло / тест.

Такође сте пронашли 3 нове обавезе које је боб направио.

$ гит лог --онелине порекло / тест

Сада бисте желели да знате које је промене направио боб.

$ гит лог -п порекло / тест

Одлучили сте да не замените повратну вредност са ЕКСИТ_СУЦЦЕСС као што је то урадио боб.

Свиђа вам се концепт употребе функције за штампање порука.

Свиђа вам се и ова обавеза.

Дакле, желите да спојите 2 од 3 направљена боба урезивања. Ако сте користили гит мерге за спајање теста гране, тада би била примењена сва 3 урезивања. Али, са функцијом гит цхерри пицк, можете да спајате само обавезе које желите.

Имајте на уму да када у Гит-у одаберете трешњу, увек почињете са најстаријим урезивањем и помало напредујете ка најновијем.

Пре сам брао трешњу, главни.ц датотека изгледа на следећи начин.

Сада, хајде да одаберемо најстарији од 2 урезивања, 9а4е532, како следи:

$ гит цхерри-пицк 9а4е532

Сукоб спајања! Ово се може догодити.

Сада отворите главни.ц датотеку и решите сукоб спајања.

Коначна датотека би требало да изгледа на следећи начин.

Сада додајте промене у сценско подручје.

$ гит додај.

Сада извршите промене на следећи начин:

$ гит цхерри-пицк --наставите

БЕЛЕШКА: Такође можете користити гит цоммит и овде. До тебе је. ја преферирам гит цхерри-пицк -наставити јер ће аутоматски користити поруку урезивања из урезивања Ја берем трешњу.

Сада, откуцајте своју поруку урезивања овде и сачувајте датотеку.

Треба додати нову предају.

Сада, цхерри одаберите следећи комитет на следећи начин:

$ гит цхерри-пицк 08ба5е7

Нема сукоба спајања. Велики! Ново урезивање треба додати аутоматски.

Као што видите, добијам тачно оно што сам желео. Спајао сам само обавезе које су ми требале.

Дакле, тако се бере вишња у Гиту. Хвала што сте прочитали овај чланак.

Водич за битку за Веснотх
Битка за Веснотх је једна од најпопуларнијих стратешких игара отвореног кода које тренутно можете играти. Не само да је ова игра у развоју већ јако ду...
0 А.Д. Приручник
Од многих стратешких игара тамо, 0 А.Д. успева да се истакне као свеобухватан наслов и врло дубока, тактичка игра упркос томе што је отворен извор. Ра...
Водич за Унити3Д
Увод у Унити 3Д Унити 3Д је моћан мотор за развој игара. То је унакрсна платформа која вам омогућава да креирате игре за мобилне уређаје, веб, стоне р...