Git Clone Branch - Как да клонирате определен клон

За разлика от по-старите централизирани системи за контрол на версиите като SVN и CVS, Git се разпространява. Всеки разработчик има пълната история и контрол на своя код локално или отдалечено. Те могат също така да имат достъп или да манипулират няколко части от кода, както сметнат за подходящи от различни места.

Откакто Linus Torvalds (известният създател на ядрото на операционната система Linux) създаде Git през 2005 г. за разработване на ядрото на Linux, той се превърна в най-широко използваната модерна система за контрол на версиите в света.

В тази статия ще ви запозная с работните потоци на клона Git и Git и ще ви покажа как можете да клонирате конкретен клон въз основа на вашите нужди. Нека да започнем! ?

Предпоставки

  • Основни познания за терминала
  • Възможност за въвеждане на команди в терминала
  • Git е инсталиран (все пак ще ви покажа как)
  • Акаунт в GitHub
  • Усмивка на лицето ти (да сложиш тази усмивка приятел?)

Бързо въведение в Git и GitHub

Според Уикипедия,

Git е разпределена система за контрол на версиите, предназначена да проследява промените в проект (код) при разработването на софтуер. Той има за цел да наложи координация, сътрудничество, бързина и ефективност сред разработчиците.

GitHub, от друга страна, е уеб-базирана хостинг услуга за контрол на версиите с помощта на Git. Той предлага всички функции на Git за разпределен контрол на версиите и управление на изходния код, както и добавяне на повече функции за компютърен код.

Как да инсталирам Git на Windows

Изтеглете и инсталирайте най-новия Git за Windows Installer тук.

Как да инсталирам Git на Linux

Ето командите, базирани на дистрибуцията на Linux:

Debian или Ubuntu

sudo apt-get update sudo apt-get install git

Fedora

sudo dnf install git

CentOS

sudo yum install git

Arch Linux

sudo pacman -Sy git

Gentoo

sudo emerge --ask --verbose dev-vcs/git

Как да инсталирам Git на Mac

Изтеглете и инсталирайте най-новата програма за инсталиране на Git за Mac тук.

Или можете да въведете тази команда:

brew install git

След като инсталирахме Git, нека преминем към урока.

Въведение в Git Clone

Git ви позволява да управлявате и версия на вашия проект (и) в "хранилище". Това хранилище се съхранява в уеб-базирана хостинг услуга за контрол на версиите, като GitHub.

След това можете да клонирате това хранилище на вашата локална машина и да разполагате с всички файлове и клонове локално (скоро ще обясня повече за клоновете).

Например можете да клонирате хранилището на freeCodeCamp със SSH по следния начин:

git clone [email protected]:freeCodeCamp/freeCodeCamp.git

Въведение в Git Branches

Когато работите по проект, вероятно ще имате различни функции. И много сътрудници ще работят по този проект и неговите характеристики.

Клоновете ви позволяват да създадете „детска площадка“ със същите файлове в masterклона. Можете да използвате този клон за изграждане на независими функции, тестване на нови функции, извършване на пробивни промени, създаване на корекции, писане на документи или изпробване на идеи, без да нарушавате или засягате производствения код. Когато сте готови, обединявате клона в производствен masterклон.

Клонът е основна концепция в Git, която се използва и в GitHub за управление на работните потоци на различни версии на един проект. В masterбранша винаги е клон по подразбиране в хранилище, което най-често се счита за "производство и разгръщащи код". Нови клонове като passwordless-authили refactor-signup-uxмогат да бъдат създадени от masterклона.

Как да клонирате Git клонове

Въпреки че можете да клонирате хранилища с git cloneкоманда, имайте предвид, че това клонира клона и дистанционното HEAD. Това обикновено е masterпо подразбиране и включва всички останали клонове в хранилището.

Така че, когато клонирате хранилище, клонирате masterи всички останали клонове. Това означава, че ще трябва сами да проверите друг клон.

Да приемем, че вашата задача в проект е да работите върху функция за добавяне на удостоверяване без парола към потребителско табло. И тази функция е в passwordless-authклона.

Наистина не се нуждаете от masterклона, тъй като вашият „клон за функции“ ще бъде обединен в masterслед това. Как тогава клонирате този passwordless-authклон, без да изтегляте всички останали клонове с „куп файлове, от които не се нуждаете“?

Създадох това пробно хранилище, за да обясня това. Това хранилище съдържа прост блог, изграден с Nextjs и има четири фиктивни клона:

  • майстор
  • разработчик
  • постановка
  • без парола

В Nextjs всеки файл в папката pages/apiсе преобразува в /api/*пътя и ще се третира като крайна точка на API вместо като page. В нашето хранилище създадох различни фиктивни API в тази директория, за да направя всеки клон различен.

В masterбранша притежава файлови страници / API / hello.js докато passwordless-authдържи файловите страници / API / auth.js . Всеки файл просто връща фиктивен текстов отговор. Вижте masterотговора на приветствания API тук (със специално съобщение за вас?).

Нека клонираме хранилището:

git clone [email protected]:BolajiAyodeji/nextjs-blog.git

Това ни дава достъп до всички клонове в това хранилище и можете лесно да превключвате между всеки, за да видите всяка версия и нейните файлове.

git branch -a

Чудите се откъде идват дистанционните / произход / .. клонове?

Когато клонирате хранилище, изтегляте данни от хранилище в Интернет или от вътрешен сървър, известен като отдалечено . Думата origin е псевдоним, създаден от вашия Git, за да замени отдалечения URL адрес (можете да промените или посочите друг псевдоним, ако искате).

Тези клонове за дистанционно управление / източник / .. ви насочват обратно към хранилището за произход, което сте клонирали от интернет, за да можете все още да извършвате издърпване / натискане от началото.

Така че, когато клонирате masterвърху вашата машина, това remotes/origin/masterе оригиналният masterклон в интернет и masterе на вашата локална машина. Така че ще дърпате / бутате от и към remotes/origin/master.

В обобщение Remote е URL адресът, който ви насочва към хранилището в интернет, докато Origin е псевдоним за този отдалечен URL адрес.

Как да клонирате определен клон

Сега нека клонираме определен клон от нашето демо хранилище. Има два начина за клониране на определен клон. Можете да:

  • Клонирайте хранилището, вземете всички клонове и направете плащане до определен клон незабавно.
  • Клонирайте хранилището и вземете само един клон.

Вариант първи

git clone --branch  

или

git clone -b  

С това извличате всички клонове в хранилището, плащате до посочения от вас и конкретният клон става конфигуриран локален клон за git pushи git pull. Но все пак изтеглихте всички файлове от всеки клон. Това може да не е това, което искате, нали? ?

Нека го тестваме:

 git clone -b passwordless-auth [email protected]:BolajiAyodeji/nextjs-blog.git

Това автоматично се конфигурира passwordless-authкато локален клон, но все още проследява други клонове.

Вариант втори

git clone --branch  --single-branch 

или

git clone -b  --single-branch 

Това изпълнява същото действие като опция първа, с изключение на това, че --single-branchопцията е въведена в Git версия 1.7.10 и по-нова версия. Тя ви позволява да извличате файлове само от посочения клон, без да извличате други клонове.

Нека го тестваме:

git clone -b passwordless-auth --single-branch [email protected]:BolajiAyodeji/nextjs-blog.git

Това автоматично се конфигурира passwordless-authкато локален клон и проследява само този клон.

Ако стартирате cd pages/api, ще намерите auth.jsфайла в passwordless-authклона, както се очаква от предишната настройка.

Заключение

Може да ви свършва интернет или място за съхранение, но трябва да работите по задача в конкретен клон. Или може да искате да клонирате определен клон с ограничени файлове по различни причини. За щастие, Git ви предоставя гъвкавост за това. Напънете мускулите си и го изпробвайте, има още много „Git“ за учене.

Един по един, нали? ✌?