Ի՞նչ է Git-ը:

Git-ը գործիք է, որն օգնում է ձեզ հետևել նախագծում կատարվող փոփոխություններին:

Պատկերացրեք, որ դուք կառուցում եք մեծ LEGO ամրոց՝ բազմաթիվ կտորներով: Կարող եք դադար վերցնել և ավելի ուշ վերադառնալ՝ ավարտելու այն: Բայց ինչպե՞ս կհիշես, թե որտեղ ես դադարեցրել և ինչ փոփոխություններ ես կատարել: Ահա թե որտեղ է մտնում Git-ը:

Git-ը նման է կախարդական տեսախցիկի, որը լուսանկարում է ձեր ամրոցը ամեն անգամ, երբ դուք փոփոխություն եք կատարում:

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

Git-ը նաև թույլ է տալիս աշխատել ամրոցի վրա այլ մարդկանց հետ, օրինակ՝ ձեր ընկերների կամ դասընկերների հետ: Git-ն օգնում է կազմակերպել բոլորի փոփոխությունները, որպեսզի ամրոցը չխառնվի: Կարծես բոլորն ունեն իրենց կախարդական տեսախցիկը, և Git-ն օգնում է միավորել բոլոր նկարները, որպեսզի բոլորը կարողանան տեսնել նույն ամրոցը:

Git հրամաններ

Git-ի հետ փոխգործակցելու համար ձեզ հարկավոր են հրամաններ, և դրանք հետևյալն են.

Git Commit

Երբ փոփոխություններ եք կատարում ձեր LEGO ամրոցում, կարող եք լուսանկարել այդ փոփոխությունները՝ ստեղծելով Git commit:

Git commit-ը նման է նկարի, որը դուք նկարում եք կախարդական տեսախցիկով՝ ֆիքսելով ձեր ամրոցի ներկայիս վիճակը տվյալ պահին: Դուք կարող եք ձեր պարտավորություններին հաղորդագրություն տալ՝ նկարագրելու, թե ինչ փոփոխություններ եք կատարել, օրինակ՝ «Ավելացրինք շարժվող կամուրջ ամրոցի դարպասին»:

Երբ դուք ստեղծեք Git commit, այն դառնում է ձեր կոդերի բազայի պատմության մշտական ​​մասը: Դուք կարող եք օգտագործել Git-ը՝ հետ նայելու նախորդ պարտավորություններին և տեսնելու, թե ինչպես է ձեր ամրոցը զարգացել ժամանակի ընթացքում: Դուք նույնիսկ կարող եք օգտագործել Git-ը՝ ձեր կատարած փոփոխությունները չեղարկելու համար՝ «վերակայելով» նախորդ commit-ը:

Git commit-ները հզոր գործիք են ձեր կոդերի բազայի պատմությունը կառավարելու համար: Նրանք թույլ են տալիս գրանցել ձեր առաջընթացը, երբ կառուցում եք ձեր LEGO ամրոցը, և հետ նայել և տեսնել, թե ինչպես է ձեր ամրոցը փոխվել ժամանակի ընթացքում: Նրանք նման են ժամանակի մեքենայի, որը թույլ է տալիս վերանայել ձեր ամրոցի նախորդ տարբերակները և տեսնել, թե ինչպես է այն աճել և կատարելագործվել:

Git Push

Ենթադրենք, դուք որոշակի փոփոխություններ եք կատարել (կամ պարտավորություններ) ձեր ամրոցում և ցանկանում եք դրանք կիսել ձեր ընկերոջ հետ, ով ապրում է հեռու: Դուք կարող եք օգտագործել Git-ը՝ ձեր փոփոխությունները «մղելու» հատուկ տեղ, որը կոչվում է «պահեստ»: Սա նման է ձեր ամրոցի պատճենը հատուկ տուփի մեջ դնելուն, որը ձեր ընկերը կարող է մուտք գործել իր համակարգչից:

Git Pull

Այժմ ձեր ընկերը կարող է օգտագործել Git-ը՝ ձեր փոփոխությունները պահոցից դեպի սեփական համակարգիչ «քաշելու» համար: Սա նման է արկղից հանելու ձեր ամրոցի պատճենը և դնելու այն սեփական LEGO սեղանի վրա:

Git Merge

Բայց ի՞նչ կլիներ, եթե ձեր ընկերը նաև որոշ փոփոխություններ կատարեր ամրոցի իր օրինակում, մինչ դուք աշխատում էիք ձեր ամրոցի վրա:

Git-ը նույնպես կարող է օգնել դրան: Երբ դուք «հանում եք» փոփոխությունները պահոցից, Git-ը կստուգի, արդյոք ձեր փոփոխությունների և ձեր ընկերոջ փոփոխությունների միջև հակասություններ կան: Եթե ​​կան, Git-ը կխնդրի ձեզ «միաձուլել» փոփոխությունները միասին: Սա նման է այն բանին, թե ինչպես կարելի է համատեղել ձեր ամրոցը ձեր ընկերոջ ամրոցի հետ, որպեսզի նրանք հիանալի տեղավորվեն միմյանց հետ:

Git Reset

Երբեմն դուք կարող եք այնպիսի փոփոխություն կատարել, որը ձեզ դուր չի գալիս, կամ կարող եք պատահաբար կոտրել մի բան, որը դուք չէիք ուզում: Հենց այստեղ է գալիս Git reset-ը:

Git-ի վերականգնումը նման է կախարդական հետարկման կոճակի ձեր LEGO ամրոցի համար: Այն թույլ է տալիս ժամանակի հետ վերադառնալ ձեր ամրոցի նախորդ տարբերակին, որպեսզի կարողանաք նորից սկսել կամ նորից փորձել: Կան զրոյացման տարբեր տեսակներ, որոնք կարող եք օգտագործել՝ կախված նրանից, թե որքան հեռու եք ուզում գնալ և որքան եք ուզում փոխել:

GitHub

GitHub-ը նման է մի մեծ LEGO տուփի երկնքում, որտեղ դուք և ձեր ընկերները կարող եք պահել ձեր ամրոցի կտորները և միասին աշխատել դրանց վրա: Դուք կարող եք ստեղծել «պահեստ» GitHub-ում՝ ձեր ամրոցը պահելու համար, այնուհետև օգտագործել Git-ը՝ ամրոցում ձեր կատարած փոփոխությունները «հրելու» դեպի պահեստ: Այնուհետև ձեր ընկերները կարող են օգտագործել Git-ը՝ այդ փոփոխությունները «ներքաշելու» իրենց սեփական LEGO սեղանների մեջ, որպեսզի նրանք նույնպես կարողանան աշխատել ամրոցի վրա:

GitHub-ը տրամադրում է նաև այլ գործիքներ, որոնք կօգնեն ձեզ աշխատել ձեր ընկերների հետ նույն ամրոցում: Դուք կարող եք ստեղծել «խնդիրներ»՝ հետևելու դղյակի խնդիրներին կամ գաղափարներին, և կարող եք ստեղծել «ձգման հարցումներ»՝ ամրոցում փոփոխություններ առաջարկելու համար, որոնք ձեր ընկերները կարող են վերանայել և հաստատել: Դա նման է մեծ վիրտուալ LEGO երեկույթի, որտեղ բոլորը կարող են իրենց ներդրումն ունենալ նույն ամրոցում և միասին զվարճանալ կառուցելով:

Git Branches

Երբեմն գուցե ցանկանաք փորձել ինչ-որ նոր բան կառուցել ձեր ամրոցի կտորներով՝ չխաթարելով այն, ինչ արդեն կառուցել եք: Ահա թե որտեղ են մտնում Git մասնաճյուղերը:

Git-ի ճյուղերը նման են կախարդական պորտալների, որոնք թույլ են տալիս ցատկել դեպի զուգահեռ տիեզերք, որտեղ կարող եք ինչ-որ նոր բան կառուցել ձեր LEGO ամրոցի կտորներով՝ առանց բնօրինակ ամրոցի վրա ազդելու:

Դուք կարող եք ստեղծել նոր մասնաճյուղ Git-ում, որպեսզի աշխատեք նոր հատկանիշի կամ գաղափարի վրա՝ միաժամանակ պահպանելով բնօրինակ ամրոցը ապահով և անձեռնմխելի:

Երբ դուք ստեղծում եք նոր մասնաճյուղ Git-ում, կարող եք աշխատել այդ մասնաճյուղի նոր հատկանիշի կամ գաղափարի վրա՝ առանց ազդելու հիմնական կոդի բազայի վրա: Դուք կարող եք «կատարել» փոփոխություններ ձեր մասնաճյուղում այնպես, ինչպես նախկինում, և Git-ը կնկարի ձեր նոր փոփոխությունները, ինչպես նախկինում: Բայց այս նկարները գոյություն կունենան միայն ձեր մասնաճյուղում, ոչ թե հիմնական կոդերի բազայում:

Երբ ավարտեք ձեր նոր գործառույթի կամ գաղափարի կառուցումը, կարող եք «միաձուլել» ձեր մասնաճյուղը նորից հիմնական կոդի բազայի մեջ: Սա նման է ձեր նոր LEGO-ի ստեղծագործությունը սկզբնական ամրոց վերադարձնելուն: Git-ը կմիավորի ձեր մասնաճյուղում կատարած փոփոխությունները բնօրինակ ամրոցի հետ՝ ստեղծելով կոդերի բազայի նոր և կատարելագործված տարբերակը:

Մասնաճյուղերը Git-ում հզոր գործիք են, որը թույլ է տալիս միաժամանակ աշխատել ձեր կոդի տարբեր մասերի վրա՝ առանց ազդելու հիմնական կոդի բազայի վրա։ Նրանք նման են բազմաթիվ LEGO ամրոցներ ունենալ տարբեր տիեզերքներում, որոնք բոլորը կապված են կախարդական պորտալներով: Դուք կարող եք անցնել տիեզերքների միջև, երբ ցանկանում եք, և նույնիսկ համատեղել դրանք՝ ստեղծելու նոր և զարմանալի բան:

Ամփոփում

Այսպիսով, մենք շատ ենք խոսել Git-ի և կոդավորման մասին՝ օգտագործելով LEGO-ն որպես զվարճալի անալոգիա: Հուսով եմ, որ օգտագործելով այս անալոգիան, ես կարողացա զվարճալի և մատչելի կերպով բացատրել Git-ի հիմքում ընկած որոշ հասկացություններ:

Մեր LEGO-ի պատմություններում մենք խոսել ենք Git-ի մասին՝ որպես կախարդական տեսախցիկի, որը լուսանկարում է ձեր LEGO ամրոցը ամեն անգամ, երբ դուք փոփոխություն եք կատարում, և թե ինչպես է Git-ը կատարում, նման են նկարների, որոնք դուք լուսանկարում եք տեսախցիկով՝ գրանցելու ձեր առաջընթացը շինարարության ընթացքում:

Մենք նաև խոսեցինք մասնաճյուղերի մասին, որոնք նման են կախարդական պորտալների, որոնք թույլ են տալիս նոր բան կառուցել ձեր LEGO-ի կտորներով՝ առանց ազդելու բնօրինակ ամրոցի վրա, և ինչպես կարող եք ձեր փոփոխությունները կրկին միավորել հիմնական կոդի բազայի մեջ, երբ ավարտել եք:

Ընդհանուր առմամբ, Git-ը հզոր գործիք է, որը մշակողները օգտագործում են իրենց կոդերի բազայի պատմությունը կառավարելու, ուրիշների հետ համագործակցելու և իրենց կոդի տարբեր մասերի վրա միաժամանակ աշխատելու համար: Եվ ճիշտ այնպես, ինչպես LEGO-ով կառուցելը, Git-ը թույլ է տալիս ստեղծել ինչ-որ զարմանալի բան մի խումբ մարդկանց հետ՝ միաժամանակ հետևելով այն ամենին, ինչ անում են բոլորը և վստահ լինելով, որ բոլորը կարող են իրենց ներդրումն ունենալ՝ չխոչընդոտելով միմյանց:

Հուսով եմ, որ ձեզ դուր են եկել այս LEGO պատմությունները, և որ դրանք օգնել են ձեզ հասկանալ, թե ինչ է Git-ը և ինչպես է այն աշխատում:

Խնդրում եմ տեղեկացրեք ինձ մեկնաբանություններում, եթե ցանկանում եք լրացուցիչ բացատրություններ Git-ի որոշակի հասկացությունների վերաբերյալ: