„Днес ще ви разкажа за двете най-популярни програми за контрол на версиите: SVN и Git.“

"SVN работи приблизително по начина, който описах в последния урок. Git е малко по-сложен и смятам да го обсъдя по-подробно."

„Можете ли да ми дадете връзки към documentацията за SVN и Git?“

— Разбира се, само за секунда.

http://svnbook.red-bean.com/en/1.7/svn-book.html

https://githowto.com  (това е просто шедьовър)

„И така, Git .“

„Това е малко по-сложно от SVN.  С Git всеки потребител има свое собствено локално хранorще в допълнение към хранorщето на сървъра.

— И така, къде се ангажираш?

„Потребителите винаги се ангажират с локалното си хранorще.“

„Но Howво да кажем за сървърното хранorще?“

„За синхронизиране на локалните и сървърните хранorща има специални команди Pull и Push .

„Има причина за това. Понякога програмистът трябва да свърши много работа от своя страна, което може да включва няколко стотици ангажименти, преди да може да бъде добавен към споделеното хранorще.“

„За да направите това в SVN, ще трябва да стартирате отделен клон и след това да го обедините с ствола.“

„С Git просто винаги се ангажирате с локалното хранorще и след това изпращате всички промени като пакет до централното хранorще на сървъра, когато сте готови.“

„Този ​​метод може да изглежда малко прекомерен, когато пишете само малко code. Но когато задачите ви са толкова големи, че се простират през седмици, тогава разбирате, че не можете просто да пишете през цялото време, без да се ангажирате.“

„Защо не можете просто да работите две седмици и след това да изпратите промените си към сървъра веднъж?“

„Е, програмата за контрол на версиите предлага много удобства.“

„Представете си, че се обвързвате всеки ден и на 10-ия ден откривате, че промените, които сте направor през последните два дни, няма да работят по план. И искате да се върнете към codeа, който сте имали на 8-ия ден, и да се заемете със задачата различно."

„Просто връщате промените, напequalsи в локалното хранorще през последните два дни, и се връщате към желаното състояние. Това е известно като операция за връщане назад .“

— Искаш да ми кажеш, че можеш да направиш това?

„Да. В допълнение, тъй като историята на ангажиментите се съхранява, можете да разберете кога и защо нещо е ангажирано и от кого, съответните функции/бъгове и кои десет file са бor едновременно модифицирани като част от тази работа.“

„Да предположим, че нечия корекция на грешка нарушава codeа на някой друг. Можете просто да върнете назад ( връщане назад ) codeа и да продължите така, сякаш промяната никога не се е случвала.“

„Добре, това е страхотно. Убеден съм. Бихте ли ми показали няколко примера, илюстриращи How работи всичко това?“

"Сигурен."

„Ето How клонирате централното хранorще към вашия локален компютър:“

Комити и клонове - 1

„Така че операцията Checkout вече не е необходима.“

„Да. И ето примери за Push операции:“

Комити и клонове - 2

„И операции за изтегляне :

Комити и клонове - 3

"А. Това повече or по-малко има смисъл."

„Между другото, има страхотна услуга, наречена GitHub.“

„Всеки програмист може да се регистрира там и да създаде свои собствени Git хранorща. Предлагам ви да се запознаете по-добре с него.“

„Ето няколко полезни връзки:“

https://githowto.com

https://git-scm.com/book/en/v2/Getting-Started-Installing-Git

https://articles.assembla.com/using-git/getting-started/set-up-git-on-windows-with-tortoisegit

„Имайте предвид, че има доста клиенти на Git.“

„Първо, има   GitBash , който ви позволява да въвеждате текстови команди.“

„След това има TortoiseGit , която е добра програма, вградена в Windows Explorer. Тя ви позволява да работите с файлове в Git хранorще директно в Explorer.“

„IntelliJ IDEA поддържа Git и ви позволява да изпълнявате всяHowви сложни команди само с няколко кликвания директно от средата.“

„И така, кой трябва да науча?“

— Препоръчвам ви да се запознаете с всички тях.

„Ще преминете интервюто си и ще пристигнете на работа. Ще получите връзка към Git, потребителско име и парола – и това е. След това сте сами.“

„Какво имаш предвид „сами“?“

„Искам да кажа, че ще настроите Git сами, ще изтеглите копие на хранorщето сами,…“

„И тогава ще трябва да изградите и да се опитате да стартирате проекта.“

„Инструкциите за изграждане също най-вероятно ще бъдат в хранorщето на Git, заедно с documentацията на проекта.“

„Ръководителят на вашия екип ще дойде при вас вечерта и ще каже:  „Е, Howво разбрахте досега?“ "

„И ще кажете: „Опитвам се да настроя Git тук, но все още не съм постигнал успех. „Няма да ме уволните, нали?“ "

„Или, докато е още обяд, можете да отидете при ръководителя на екипа и да кажете:  «Инсталирах Git, изтеглих проекта и прегледах documentацията, но има стотици файлове и все още не съм подредил всичко. текущите инструкции за компилация ли са?'» "

— Усещаш ли разликата?

„Да. Във втория случай съм супер рок-звезда програмист, но в първия съм няHowъв робо-дуф, който дори не знае How да изтегли проект от Git. С други думи, прецаках преди дори да започна да програмирам. Предполагам, че след това дори няма да ми позволят да пиша code."

„Вижте, вие сами отговорихте на въпросите си. Така че проучете и разберете. Никой няма да го направи instead of вас.“

— Няма ли да ми помогнеш?

„Вече помогнах. Тук учим Java, в случай че си забравил. За всичко останало си сам. Или главата ти е само за пиене?“

„Добре, разбрах. Благодаря ти, Билаабо!“