Ճիշտ այնպես, ինչպես Աստված ինձ հնարավորություն է տվել ևս մեկ շունչ քաշելու, դուք զանգվածները կվայելեն այն հանգստությունը, որը git-ը ապահովում է մեզ նման մշակողների համար: Նախաբանի համար ես որոշակի հասկացողություն ունեմ git-ի մասին, բայց այն միշտ եղել է շատ մերկ ոսկորների մակարդակի վրա և օգտագործել է միայն այնպիսի գործողություններ, ինչպիսիք են commit, add, init, status և push, դրա համար ես ուզում էի ավելին իմանալ դրա ներքին գործունեության մասին և ավելի հզոր հրամաններ. Նախ, ինչպես շատերը գիտեն, git-ը FOSS է, որը թույլ է տալիս անհատներին կիսել իրենց պահեստները և օգնում է այնպիսի բաների, ինչպիսիք են կոդավորողների միջև համագործակցությունը և հանդիսանում է OSS-ի հենարանը: Ինքը՝ Լինուս Տորվալդսը, ստեղծել է այն, որպեսզի ավելի ֆունկցիոնալ միջոց լինի Linux-ը և նրա այլ նախագծերը պահպանելու համար: Այնուամենայնիվ, այն այժմ դարձել է հիմնական կոդավորման բոլոր ձևերում և օգտագործվում է ամբողջ աշխարհում գրեթե բոլոր ընկերություններում, որոնք ստեղծում են ծրագրակազմ, որն այս պահին տարբերակի կառավարման առաջնակարգ համակարգն է:

Սկզբում ես սկսեցի հասկանալ բեմադրության տարածքն ամբողջությամբ և ինչպես է այն աշխատում: Հենց այդ ժամանակ ես հասկացա հատուկ փոփոխությունների փաթեթավորման կարևորությունը և այն, թե ինչպես է այն օգնում հետևել ձեր փոփոխություններին: Անձամբ ինձ համար ես արել էի միայն -git add .- (ավելացնելով բոլոր ֆայլերը բեմականացման տարածքում), սակայն երբ դուք ավելացնում եք հատուկ ֆայլեր, դուք կարող եք ընդգծել դրանցում ձեր կատարած հատուկ փոփոխությունները: Այնուհետև, երբ դուք կատարում եք այս փոփոխությունները, դուք կարող եք շատ ավելի հեշտ մանևրել դրանց միջև: Ես նաև պարզեցի, որ դուք հնարավորություն ունեք հեռացնել բեմադրությունը՝ git rm — քեշավորված, որը շատ օգտակար էր երեկ, երբ իմ .gitignore ֆայլը չէր աշխատում:

Այս հատվածից հետո ես ավելին իմացա մասնաճյուղերի մասին, որոնք իրականում երբեք չէի օգտագործել, նկատի ունեմ, որ ես իսկապես ստիպված չէի դա անել, քանի որ ես պարզապես աշխատում էի իմ անձնական նախագծերի վրա և այս պահին որևէ այլ մեկի հետ չէի համագործակցում, սակայն հասկացա, որ դա այնուամենայնիվ լավ պրակտիկա է: Այս ճյուղերը թույլ են տալիս շարժվել նախագծի վիճակների միջև և կարող են նկարագրվել որպես թեթև ցուցիչներ: Սա օգտակար է, երբ ցանկանում եք անել մեկ այլ էջ ստեղծելու նման մի բան, այնպես որ դուք որոշում եք ստեղծել մեկ այլ մասնաճյուղ և միաձուլվել, երբ ավարտվի: Այնուհետև դուք կկարողանաք ավելի լավ հետևել փոփոխություններին, մասնաճյուղը վճարելու համար կարող եք գործարկել հրամանը, git checkout -b ‹branch-name›, սակայն կարող եք դա անել նաև git branch ‹branch-name›, կարող եք. ջնջեք այս ճյուղերը git branch -d ‹branch-name›-ով, սակայն git checkout-ի առավելությունն այն է, որ այն ավտոմատ կերպով անցնում է ձեզ նորաստեղծ մասնաճյուղ: Ամեն անգամ, երբ ցանկանում եք ձեր մասնաճյուղը մղել GitHub, որը ցանկանում եք գործարկել, git push origin ‹branch-name›:

Origin-ը կարող է դասակարգվել նաև որպես git-ի կողմից տրված այլանուն, երբ դուք կլոնավորում եք հեռավոր պահեստը ձեր տեղական մեքենայում: Ծագումը հիմնականում զբաղեցնում է հեռավոր պահեստի ուղիղ կապի տեղը: Այն բանից հետո, երբ դուք մղում եք ձեր մասնաճյուղը սկզբնաղբյուր, թեև թարմացումն այնուհետև ուղարկվում է git պահեստի սեփականատիրոջը, և նա կորոշի ընդունել ձեր փոփոխությունները, թե ոչ:

Ձգման հարցումը զգուշացնում է պահեստների սեփականատիրոջը, որ ցանկանում եք փոփոխություն կատարել և շատ օգտակար է բազմաթիվ պատճառներով: Այն նաև օգնում է ընդգծել ընթացիկ ծրագրաշարի հետ կապված հնարավոր խնդիրները և շատ օգտակար է OSS-ում, որտեղ կան բազմաթիվ ներդրողներ: Սա նաև լավ պրակտիկա է, երբ ցանկանում եք նպաստել բաց կոդով, որպեսզի չզարմացնեք մշակողին, և դա չանելը ահաբեկչական գործողություն է: Ձեր հարցումն ուղարկելուց հետո այն սեփականատիրոջը թույլ է տալիս վերանայել կոդը և համոզվել, որ այն լավ տեսք ունի՝ նախքան այն միավորելը հիմնական մասնաճյուղի հետ: Հաստատվելուց հետո այն միաձուլվում է: Այնուհետև լավ պրակտիկա է ջնջել այն մասնաճյուղը, որի վրա աշխատում էիք փոփոխությունները կատարելու համար:

Ձեր միջավայրը թարմացնելու համար դուք կարող եք նաև օգտագործել git pull origin master-ը՝ ընթացիկ միավորված պահեստի կոդը ստանալու համար: Դուք չեք ցանկանում հնարավորինս հաճախ համաժամանակյա լինել: Դուք կարող եք նաև գրանցել բոլոր փոփոխությունները, որոնք տեղի են ունեցել git log-ի միջոցով:

Անցյալ օրինակներին վերադառնալու լավ միջոց է նաև օգտագործել git log — մեկ տող, և սա վերադարձնում է տեքստ և հեշ յուրաքանչյուր տեքստի կողքին: Ձեր ցանկալի անցյալի կատարմանը վերադառնալու համար git revert ‹necessary-hash›: Սա անցյալի տեղեկությունները ստանալու և դրան վերադառնալու անվտանգ միջոց է, քանի որ այն իրականում չի շոշափում կատարման պատմությունը, քանի որ դուք դեռ կարող եք տեսնել այն պարտավորությունները, որոնք կատարվել են սկզբնական հանձնառությունից հետո, և սա լավ պրակտիկա է:

Ամեն դեպքում, սա զվարճալի փոքրիկ ընդմիջում էր նախատեսված ծրագրից, և ես շատ բան սովորեցի այն հնարավորությունների մասին, որոնք ես անպայման կօգտագործեմ ապագայում: Կհանդիպենք վաղը և այս անգամ անակնկալ կլինի: ՄՈՒԱՀԱՀԱՀԱՀԱՀԱՀԱ.

Աղբյուրներ: