-
-
Notifications
You must be signed in to change notification settings - Fork 26
Распрацоўшчыку. Git. Праца з рэпазіторыем
- Мы працуем праз пул рэквэсты (далей ПР).
- Адзін пул рэквэст = адна ішус. Гэта значыць, што у ПР павінен утрымлівацца код толькі на адпаведную картку, мяшаць розны код ў аднам ПР нельга. Увага! Робім пул рэквэсты ў галіну develop
- Трэцяе правіла. Не можа быць пул рэквэста без ішус.
Галінаванне ў git выкарыстоўваецца для адначасовай і незалежнай распрацоўкі рознага функцыяналу, дазваляе праграмістам весці сумесную працу над праектам, не замінаючы адзін аднаму.
У працэсе стварэння праекта выкарыстоўваюцца 3 галінкі:
-
master
- з'яўляецца аўтаматычна пры стварэнні рэпазітора. Змяшчае асноўны код - стабільную версію праекта; -
{issue_number}-feature_name
- ўласная лакальная рабочая галінка (дзе{issue_number}
— нумар issue на GitHub, аfeature_name
— кароткая назва задачы). Ствараецца самім распрацоўшчыкам для працы над новай функцыянальнасцю або для выпраўлення кода. Пасля зліцця з галінкайdevelop
падлягае выдаленню; -
develop
- “галінка інтэграцыі”, адлюстроўвае стан праекта з апошнімі зменамі распрацоўкі, зробленымі для наступнага рэлізу. Разгортваецца на staging/тэставым серверы. Захоўвае ў сабе пратэставаныя змены з{issue_number}-feature_name
галінак.
- Зрабіце форк з апстрыма (цэнтральнага рэпазіторыя) ў сваю прсатору на гітхабе.
- Скапіруйце рэпазітар праекта (форк якi вы толькi што рзабiлi) ў сваю лакальную тэчку. Для гэтага неабходна у кансолi ўвесцi каманду:
git clone <url форкнутага рэпазітара>
Пасля гэтага можна працаваць з рэпазіторыем па алгарытме апісанаму далей
- Переключаемся на лакальнай машыне на галіну develop
git checkout develop
- Забіраем змены
git pull upstream develop
.
Адпрауляем змены пры дапамозе каманды: git push origin develop
Такiм чынам, пасля двух крокаў мы маем найбольш актуальны праект з якiм i працягнем работаць далей.
3. Перад пачаткам працы з новай issue неабходна стварыць новую галінку ў якой мы i будзем працаваць. Для гэтага неабходна выканаць наступную каманду ў тэрмінале: git checkout -b <імя новай галіны>
Асобная галінка для задачы ствараецца таксама для таго, каб можна было рабіць некалькі ПР у апстрым рэпазіторый, калі ваш папярэдні ПР на разглядзе.
4. Пасля завяршэння зменаў кода робіце push у сваю працоўную прастору на гітхабе з лакальнай галінкі, якую адкрылі для працы над карткай: git push origin <імя новай галіны>
Далей сваёй працоўнай прасторы на гітхабе пераключаецеся на <імя новай галіны>
і робіце PR у develop галіну апстрыма.
Pull Request (пул рэквэст, ПР, PR) - гэта запыт на адпраўку змяненняў з рабочай галінкі ў асноўную галінку зыходнага рэпазітара. Пасля таго як ён створаны, астатнія ўдзельнікі могуць убачыць прапанаваны праграмістам код.
- зайсці на старонку вашага форка;
- націснуць на кнопку New pull request;
- запоўніць у акне “Comparing changes”:
- Базавы рэпазітар, у які будзе стварацца pull request.
- Базавую галінку ў гэтым рэпазітары;
- Рэпазітар і галінку, адкуль павінны улівацца змены;
- у акне ўводу паведамленняў апісаць сутнасць унесеных ў праект змяненняў;
- націснуць на кнопку Create pull request.
- Першапачаткова галінка ствараецца на кампутары распрацоўніка. Важна памятаць, што трэба размяшчаць яе копію ў аддаленым рэпазітары, бо гэта дазволіць працаваць над галінкай іншым супрацоўнікам.
-
Для пераходу з адной галінкі на іншую (без стварэння) выкарыстоўваць каманду:
git checkout <імя галіны>
git branch -d <імя галіны>
.
Пратэставаць унесеныя змены на сваім staging/тэставым серверы. У выпадку адсутнасці канфліктаў выканаць у тэрмінале каманды:
git checkout develop
git pull
git merge <імя галіны>
Пры ўзнікнення канфліктаў звярнуцца на працоўную галінку, выправіць памылкі, паўтарыць зліццё (гл. П.1-3).
- Як сінхранізаваць форк з галоўным рэпазіторыем
- Схема працы
- Git: парады пачаткоўцам
- Шпаргалка з асноўнымі камандамі в Git
- Кароткі даведнік па камандам
- Кіраванне галінаваннем і зліццём
- Больш дакладна прачытайце як карыстацца пулрэквэстамі