Git нұсқаулығы: Ұжыммен қалай бейбіт өмір сүруге болады

Аралас топтың суреттері | Дереккөз: Spongebob квадраттар

Гит қиын, бұрау оңай. Гитті ұжымда қалай тиімді пайдалану керектігін білу керек көптеген мәселелер бар. Бақытымызға орай, сіз осындасыз, мен сізге командада жұмыс істеуге көмектесетін нұсқаулық көрсетемін.

Гит дегеніміз не?

Git - бұл бағдарламалық жасақтаманы әзірлеу кезінде бастапқы кодтағы өзгерістерді бақылауға арналған, таратылған нұсқаны басқару жүйесі (DVCS). Git жылдам және тиімділікпен кішкентайдан бастап үлкен жобаларға дейін барлығын өңдеуге арналған.

Негізгі командалар

Сіздің командаңызға қосылуға көмектесу үшін сізге негізгі нұсқауларды көрсетемін.

git бастамасы

Егер сіз жаңа жергілікті репозиторий жасағыңыз келсе, келесі әрекеттерді орындай аласыз:

git бастамасы

Сонда сізде жаңа және жаңа репозиторий бар. Ол жерден жаңа репозитарийде кодты өңдей бастауға болады.

гит клоны

Сіз әзірлеу тобындасыз және жобаны қазірдің өзінде GitHub немесе GitLab топтарындағы жетекші жасаған. Енді сіз өз жұмысыңызды компьютерге қосқыңыз келеді. Жергілікті файлдарда репозиторийді клондау үшін сіз жай ғана git клонын қолдана аласыз:

гит клоны 

git филиалы

Желідегі репозиторийді жергілікті репозиторийге көшіргеннен кейін бірден кодтауды бастай алмайсыз. Сіз өзіңіздің жеке филиалыңызды жасауыңыз керек, ол репозиторийдің соңғы өнімімен шатаспайды. Git тармағының командасында бірнеше нұсқа бар:

git филиалы

Сіздің репозиторийіңіздегі барлық филиалдарды тізімдеңіз. Бұл git тармақ - тізімімен синоним.

git филиалы 

Деп аталатын жаңа филиал жасаңыз . Бұл жаңа филиалды тексермейді.

git филиалы -d 

Көрсетілген филиалды жойыңыз. Бұл Git-тегі «қауіпсіз» операция, егер ол өзгертілмеген болса, филиалды жоюға жол бермейді.

git филиалы –D 

Көрсетілген тармақты, егер ол өзгертілмеген болса да, мәжбүрлеп жойыңыз. Егер сіз белгілі бір даму жолымен байланысты барлық тапсырмаларды біржола тастағыңыз келсе, онда қолдануға болады.

git саласы -m 

Ағымдағы филиалдың атауын өзгерту .

git филиалы –а

Барлық қашықтағы филиалдардың тізімін жасаңыз.

git тексеру

Өзіңіздің филиалыңызды жасағаннан кейін. Сіз өзіңіздің қазіргі филиалыңыздан (әдепкі - басты) git тексеру командасын қолданып, өзіңіздің филиалыңызға ауысқыңыз келеді. Филиалды тексеру жұмыс каталогындағы файлдарды сол филиалда сақталған нұсқаға сәйкес жаңартады және Git-ке осы филиалға барлық жаңа тапсырмаларды жазуды тапсырады. Мұны қандай даму жолын таңдауға болатын әдіс деп ойлаңыз.

Филиалдарды ауыстыру - бұл қарапайым жұмыс. Төмендегілерді орындау HEAD-ны ұшына дейін көрсетеді .

git тексеру 

Топпен бірлескен жұмыс кезінде қашықтағы репозиторийлерді пайдалану жиі кездеседі. Бұл репозиторийлер орналастырылуы немесе ортақ пайдаланылуы мүмкін немесе олар әріптесінің жергілікті көшірмесі болуы мүмкін. Әр қашықтағы репозиторийдің өз филиалдары болады. Қашықтағы филиалды тексеру үшін алдымен филиалдың мазмұнын алу керек.

git fetch - барлығы

Git-тың заманауи нұсқаларында жергілікті филиал сияқты қашықтағы филиалды тексеруге болады.

git тексеру 

Сонымен қатар, сіз жаңа жергілікті филиалды тексеріп, оны соңғы филиалдарға қайта орната аласыз.

git тіркеу -b қалпына келтіру - шығу тегі /

қашықтан басқару

Топтық жобаңызды өзіңіздің жеке онлайн репозитарийге көшіргіңіз келетінін айтыңыз. GitHub немесе GitLab-да жеке репозиторийіңізді жасағаннан кейін, өзіңіздің желідегі репозиторийіңізге топтық жобаның жергілікті репозиторийін итергіңіз келеді. Сіздің қосылымыңызды тексеру үшін сіз мына командаларды қолдана аласыз:

қашықтан басқару

Басқа репозиторийлердегі қашықтағы қосылыстардың тізімін жасаңыз.

git қашықтан -v

Жоғарыдағы пәрменмен бірдей, бірақ әр қосылымның URL мекенжайын қосыңыз.

Енді сіз өзіңіздің жергілікті репозиторийіңізді осы пәрмендердің көмегімен өзіңіздің желідегі репозиторийіңізге қосқыңыз келеді:

git қашықтан қосу 

Қашықтағы репозиторийге жаңа қосылым жасаңыз. Қашықтан басқару құралын қосқаннан кейін сіз оны қолдана аласыз үшін ыңғайлы сілтеме ретінде басқа Git командаларында.

қашықтан басқару пультін 

Қашықтағы репозиторий деп аталатын қосылымды жойыңыз .

git қашықтан атауын өзгертіңіз 

Қашықтағы қосылымның атын өзгертіңіз дейін .

git тарту

Егер сіз жұмыс істеп тұрған филиалда онлайн-репозиторийде жаңарту болса, сіз жергілікті репозиторийді git pull пәрменін қолданып жаңарта аласыз. Интернеттегі репозиторийден алудың әдепкі тәсілі - git pull көмегімен git pull командасында бірнеше опциялар бар:

git тарту

Ағымдағы филиалдың көрсетілген қашықтан көшірмесін алып, дереу жергілікті көшірмеге біріктіріңіз. Бұл гит әкелумен бірдей одан кейін біріктіру шығу тегі / .

git pull - жасамау

Әдепкі шақыру сияқты, қашықтағы мазмұнды алады, бірақ жаңа біріктіру міндеттемесін жасамайды.

git pull - ребаза

Алдыңғы тартумен бірдей, қашықтағы филиалды жергілікті филиалмен біріктіру үшін git біріктіруді қолданудың орнына, git rebase пайдаланыңыз.

git pull --verbose

Жүктелетін мазмұнды және біріктіру мәліметтерін көрсететін тарту кезінде вербоза шығарады.

итеру

Сіз өзіңіздің жергілікті репозиторийіңізге өзгертулер енгізгеннен кейін, файлдарға қаншалықты әсер етсеңіз де. Жергілікті репозиторийдегі өзгертулерді онлайн режиміне «итеру» үшін git push қолданыңыз. Интернеттегі репозиторийге көшудің әдеттегі әдісі - git push көмегімен git push командасының бірнеше нұсқасы бар:

итеру

Көрсетілген тармақты басыңыз барлық қажетті тапсырмалармен және ішкі нысандармен бірге. Бұл тағайындалған репозиторийде жергілікті филиал жасайды. Қайта жазылудың алдын алу үшін Git тағайындалған репозиторийге жылдам алға емес біріктіруге әкелген кезде сізге итермелеуге мүмкіндік бермейді.

git push - күш

Жоғарыдағы пәрменмен бірдей, бірақ жылдам алға емес біріктіруге әкелсе де, итермелеңіз. Сіз не істеп жатқандығыңызға толық сенімді болмасаңыз, күштік жалаушаны қолданбаңыз.

git push - барлық

Барлық жергілікті филиалдарды көрсетілген қашықтан басқару пультін итеріңіз.

git push - тегтер

Сіз бұтақты итергенде немесе барлығын пайдаланғанда тегтер автоматты түрде итерілмейді. --Tags жалаушасы барлық жергілікті тегтерді қашықтағы репозиторийге жібереді.

біріктіру

Сіздің жұмысыңызды интернеттегі репозиторий филиалына жібергеннен кейін. Енді сіз өзгерісті соңғы өнімге қосқыңыз келетінін айтсаңыз, мастер-филиал туралы айтуға мүмкіндік береді, бірақ мастер-филиалдың өзі жаңартылды, өйткені сіздің командаңыздағы басқа әзірлеушілер өз филиалдарын мастер-филиалға біріктірді.

Біріктіру алдында | Дереккөз: Атласян

Егер олар кодты жұмысыңыздың жолымен өзгертпесе, сіз біріктіру пәрменін қолданып, ешқандай дау туғызбай филиалды біріктіруге болады.

git checkout master git біріктіру git филиалы -d
Біріктірілгеннен кейін | Дереккөз: Атласян

Филиалды біріктіргеннен кейінгі ең жақсы тәжірибе - оны қауіпсіз жою.

Басқа жағдайда, егер олардың коды сіздің кодыңызбен бірдей болса және кодтар басқаша болса, сіз біріктіру қақтығысына тап боласыз. Филиалды қайтадан біріктірмес бұрын алдымен қайшылықты шешу керек.

git қайта қосу

Біріктірудің баламасы ретінде келесі тармақтарды қолдана отырып, тармақтың басты тармағына ауыстыра аласыз:

git төлемін орындау мүмкіндігі git қайта іске қосу шебері

Бұл барлық жаңа тармақтарды мастер-филиалдың ұшынан бастауға және барлық жаңа тапсырмаларды тиімді енгізуге мүмкіндік береді. Бірақ біріктіру міндеттемесін қолданудың орнына, бастапқы филиалдағы әрбір міндеттеме үшін жаңа тапсырмалар жасау арқылы жоба тарихын қайта жазады.

Біріктіру кезінде жаңа бөлімде жаңа біріктіру жасаңыз, мысалы:

Шеберді қосу үшін шеберді біріктіріңіз | Дереккөз: Атласян

Rebase - барлық жаңа филиалдарды жаңа филиал ретінде алынған соңғы филиалға ауыстырады

Шеберді тармаққа ауыстыру үшін | Дереккөз: Атласян

Қалпына келтірудің басты артықшылығы - бұл сіз әлдеқайда таза жоба тарихын аласыз. Біріншіден, бұл git біріктіру арқылы қажет етілетін біріктіруді алып тастайды. Екіншіден, жоғарыда келтірілген диаграммадан көріп отырғаныңыздай, қалпына келтіру, сонымен қатар жобаның керемет сызбасын тудырады - сіз жобаның басына дейін ешқандай шанышқысыз барлық мүмкіндікті ұстануға болады.

git қайтару

Қайтару жаңа міндеттеме жасау арқылы жасалған қылмысты болдырмайды. Бұл өзгерістерді болдырмаудың қауіпсіз әдісі, өйткені оның жасалған тарихын қайта жазу мүмкіндігі жоқ. Көптеген жағдайлардың бірінде, егер сіздің мүмкіндігіңізде ақырғы өнімде қателіктер болса (мастер-филиалда), сіз дереу түзетуді жасауыңыз керек. Бұл жағдайда сіз git-қайтаруды қолдана аласыз.

Мысалы, келесі пәрмен 2-ші өзгертулерді анықтайды, соңғы орындалу үшін жаңа міндеттемелерді жасайды және қолданыстағы жоба бойынша жаңа міндеттемелерді алады.

git қайтару HEAD қайта оралу ~ 2

Мұны келесідей көрнекілендіруге болады:

Қайтарар алдында | Дереккөз: АтласянҚайтарғаннан кейін | Дереккөз: Атласян

Git қайтару пәрмені - бұл алдын-ала өзгертуді болдырмаудың қауіпсіз әдісін ұсынатын кері әрекет. Міндеттеме журналында жою немесе жоюдың орнына, қайтару көрсетілген өзгертулерді болдырмайтын жаңа міндеттеме жасайды. Git қайтару - жұмысты жоғалтуға байланысты қалпына келтірудің қауіпсіз баламасы.

git stash

git қоқыстарды уақытша жұмыс сөресінде (немесе қыстырғыштарда) өзгерту керек, осылайша сіз басқа нәрселермен жұмыс жасай аласыз, содан кейін қайтып оралып, кейін қайта қолдана аласыз. Мәтінмәнді тез ауыстырып, басқа нәрсені жасау керек болса, үнемдеу ыңғайлы, бірақ сіз кодты өзгертіп, оны жасауға дайын болмайсыз.

Git stash пәрмені жіберілмеген өзгертулерді (кезеңді және кезеңсіз) қабылдайды, оларды кейін пайдалану үшін сақтайды, содан кейін оларды жұмыс көшірмесінен қайтарады. Мысалға:

$ git мәртебесі Филиал шебері Жасалуы қажет өзгертулер: жаңа файл: style.css Жасалуы үшін кезеңге қойылмаған өзгертулер: өзгертілген: index.html $ git stash Сақталған жұмыс каталогы және индекс күйінің мастер-коды: 5002d47 біздің басты басты парағымыз HEAD қазір 5002d47-де біздің жаңа басты парағымыз $ git мәртебесі Филиалдың шебері ештеңе жасамайды, ағашты тазартады

Осы кезде сіз өзгертулер енгізуге, жаңа тапсырмаларды жасауға, филиалдарды ауыстыруға және кез-келген басқа Git операцияларын жасай аласыз; содан кейін оралып, дайын болған кезде қоқысыңызды қайтадан жағыңыз. Назар аударыңыз, қоқыс сіздің Git репозиторийіңізде жергілікті болады; сіз итерген кезде қақтығыстар серверге берілмейді.

Бұрын жойылған өзгерістерді git stash pop көмегімен қайта қолдануға болады:

$ git мәртебесі Филиал шебері ештеңе жасамайды, ағаш ағашы тазаланады $ git stash pop Филиал шебері бойынша жасалатын өзгертулер:
 жаңа файл: style.css
Міндеттеу үшін кезеңге қойылмаған өзгерістер:
 өзгертілген: index.html
Жіберілген сілтемелер / қоқыстар @ {0} (32b3aa1d185dfe6d57b3c3cc3b32cbf3e380cc6a)

Қоқыс тастау сіздің өзгертулеріңізді алып тастайды және оларды сіздің жұмысыңызға көшіреді.

Немесе, сіз өзіңіздің жұмыс көшірмеңіздегі өзгертулерді қайта қарауға және оларды git stash қолдану арқылы өзіңізде сақтауға болады:

$ git stash apply Филиал шебері бойынша орындалатын өзгерістер:
 жаңа файл: style.css
Міндеттеу үшін кезеңге қойылмаған өзгерістер:
 өзгертілген: index.html

Бұл бірнеше тармаққа бірдей өзгертілген өзгерістерді қолданғыңыз келсе пайдалы.

Енді сіз қоқыс салудың негізін білетін болсаңыз, сізге мынаны ескеру қажет: Git-ті ескере отырып, бір ескерту қажет: әдетте Git жинақталмаған немесе еленбеген файлдарға енгізілген өзгертулерді өшірмейді.

Жабу

Бұл мақала сізге Git-ті түсіну және жобалардағы топтық жұмысты қалай жақсарту туралы көбірек білім берді деп сенемін. Келесі мақалада кездескенше! Оқығаныңызға рахмет!

Қосымша ресурстар

  • Атласян | Git оқулықтары