Разширено ръководство за Git

Разширено ръководство за Git

Разгръщането на вашия проект чрез отдалечено хранилище ви позволява гъвкаво да управлявате всеки бит от него. Поправки на грешки, актуализации на функции, изтриване на файлове, работа в екип, принос с отворен код, внедряване на код и други са вече на една ръка разстояние със силни познания за Git.





И така, вие сте използвали Git, но искате да знаете повече? Ето някои по -усъвършенствани съвети на Git, които ще направят контрола на версията на вашия проект лесен.





Git Branch

Git клон ви пречи да натискате директно към главния клон. Полезно е, ако управлявате проект с екип от разработчици. Можете да създадете колкото искате клонове на Git и след това да ги обедините с главния клон по -късно.





Създайте Git клон

За да създадете клон на Git, използвайте:

git branch branch_name

Превключете към Git клон

Използвайте Разгледайте за да преминете към клон на Git:



git checkout branch_name

След като преминете към клон, можете да промените промените, като използвате git add -всички . След това ги ангажирайте с помощта на git commit -m 'име на коммит' команда.

Сравнете клон с магистър

Използвай git diff команда:





git diff master..branch_name

За да сравните конкретни файлове:

git diff master..testb -- main.html

Сравняването на два клона е подобно на това как сравнявате клон с капитана:





git diff branch1..branch2

За да видите разликите в конкретен файл между два клона:

git diff branch1..branch2 -- main.html

Натиснете Промени към отдалечен клон

Може да искате друг разработчик да разгледа промените, които сте направили във файл във вашия локален клон, преди да ги пуснете на живо. Добра практика е да прокарате локалния си клон на Git към отдалечена реплика, за да могат да го разгледат.

Да приемем, че преди това сте създали локален клон с име промени . Можете да превключите към този локален клон, да коригирате всички файлове, които искате, след това да поставите и да ги ангажирате в този клон.

След това можете да натиснете тези промени към отдалечената версия на клона:

git push origin changes

Обединете отдалечения клон с Master, използвайки заявка за изтегляне

Така че друг програмист е одитирал промените в отдалечения клон ( промени ). Но искате да го обедините с главния клон и да го натиснете на живо.

Не забравяйте, че вашият отдалечен клон наследява името на вашия локален клон на Git ( промени ). Ето как да обедините промените:

Превключете към главния клон:

git checkout master

Издърпайте произхода или HEAD на клона ( промени ), за да го обедините с главния клон:

git pull origin changes

Натиснете това сливане на живо до главния клон:

git push origin master

Вместо това използвайте Git Merge

За да обедините клон с капитана, използвайте отивам команда:

Мигрирайте към главния клон:

git checkout master

Обединете го с клона ( промени ):

git merge changes

След това натиснете сливането на живо до главния клон:

как да проверите dpi на изображение
git push origin master

Уверете се, че подменяте промени с името на вашия клон.

След като сливането е успешно, тогава можете изтрийте клона локално и дистанционно ако вече не ви трябва:

Свързани: Как да преименувате клон в Git

Git Rebase

Ако имате няколко клона с остарели ангажименти, можете да пренастроите или пренасочите глава/реф от тези клонове да наследят глава/реф на актуализирана.

Следователно пребазирането е полезно, когато трябва да актуализирате някои клонове с базата на текущ.

Презареждането не трябва да бъде често действие, особено ако работите с екип, тъй като може да наруши целия работен процес. Но ако работите сами и сте запознати с работния си процес и клоновете, пребазирането не би трябвало да причини опустошения, ако знаете къде и как да го използвате.

Например, приемете, че имате два клона; клон1 и клон2. Сега не сте правили никакви промени в branch1 от известно време. Но вие последователно извършвате промени в branch2, включително наскоро.

Така че решихте да носите клон1 заедно с потока. Повторното базиране на клон1 в клон2 следователно означава, че казвате на клон1 да игнорира предишните си ангажименти и да наследи скорошния коммит, направен към branch2.

Ето как можете да направите това:

Превключете към изоставения клон (клон1):

git checkout branch1

След това пребазирайте клон1 към актуализирания клон2:

git rebase branch2

Git Squash

Git squash ви позволява да обединявате множество ангажименти в едно. Помага, когато бягате git commit много пъти с една актуализация. Практически пример е, когато всяка корекция на грешка или рефактор на код за една функция има отделен коммит.

Но може да не искате да натискате ангажимента HEAD с придружаващите, тъй като всички те имат една и съща цел. Препоръчителен подход е да ги смачкате в едно, за да избегнете объркване при проследяване на ангажименти.

Най -добрият начин за притискане на ангажименти е чрез интерактивния режим на пребазиране. Разгледайте примера по -долу, за да разберете това по -добре.

В този пример приемете, че имате пет корекции на грешки. И има ангажимент за всеки от тях. Ето как можете да смачкате тези пет ангажимента в едно:

Бягай git reflog за да видите хеш кода на вашите коммити:

git reflog

Ето резултата в този случай:

Сега целта ви е да смачкате последните пет ангажимента, започвайки от първо поправяне до пето поправяне .

За да направите това, копирайте хеш кода на коммита точно по -долу първо поправяне ( 0a83962 ). След това натиснете В да се откажа от рефлог .

Сега бягайте git rebase -интерактивен върху този хеш.

git rebase --interactive 0a83962

След това Git отваря интерактивен файл за пренастройка, който изглежда така:

За да смачкате ангажиментите, с изключение на първо поправяне , замени избирам с с за всеки от другите ангажименти:

Запишете и затворете този файл.

След това се отваря друг файл, за да преименувате смачкания коммит:

как да прехвърляте файлове във virtualbox

Почистете ги и въведете предпочитано име за смачкания ангажимент:

Запазете този файл. След това го затворете и трябва да получите съобщение за успех във вашия терминал.

Забележка: Интерактивният файл може да се отвори в терминала. Но ако сте на Windows, може да искате да принудите терминала си да отваря глобално файлове в любимия ви текстов редактор, за да улесни смачкването.

За да направите това, отворете командния ред и стартирайте:

git config --global core.editor ''path to choice text editor' -n -w'

Git Fork срещу Git Clone

Форкирането и клонирането са два различни термина в Git. Не можете да разклоните хранилището си, тъй като вече е там с вас. Можете обаче да разклоните хранилището на други хора и да го клонирате след това.

Разделянето на хранилище означава, че грабвате копие на нечие хранилище и го правите ваше. След като получите копие от това хранилище, можете да го клонирате така, както бихте направили някое от вашите git хранилища за локални промени.

Ето как да клонирайте отдалечено хранилище на GitHub и инициирайте изтегляне във вашата локална директория:

git clone https://github.com/username/repository_name.git/

Възстановяване на файл до състоянието му по подразбиране

Ако искате да изчистите промените във файл след последния коммит, можете да използвате git възстановяване команда:

git restore filename

Промяна на ангажимент

Можете да се върнете към предишен ангажимент, ако забравите да направите промени в някои файлове, докато ги поставяте.

Направете промени във файла, който сте забравили. След това използвайте git поправка за преглед на ангажимент:

git add file_forgotten
git commit --amend

Изтегляне на файлове

Можете да премахнете конкретни файлове, които сте поставили за ангажимент, като използвате върви rm команда:

git rm --cached filename

Можете също така да премахнете няколко файла едновременно:

git rm --cached file1 file2 file3 file4

Не забравяйте да добавите съответното разширение на файл към всеки файл, който изключвате. Например, обикновен текстов файл трябва да бъде filename.txt .

Свързани: Как да почистите Git и да премахнете непроследени файлове

Git Нулиране

Използвайки git нулиране е полезно, ако искате да изоставите всички файлове, които сте поставили за коммит наведнъж:

git reset

Git reset HEAD обаче насочва HEAD на клон към конкретен коммит във вашето работно дърво. Например, ако все още не сте натиснали текущия си ангажимент, можете да се върнете към наскоро натиснатия коммит:

git reset --soft HEAD~1

Заменете -мека с --трудно ако вече сте натиснали текущия ангажимент:

git reset --hard HEAD~1

Върнете се назад

За разлика от нулиране команда, върни се обратно поддържа целостта на вашата история на ангажименти. Това е удобно, ако искате да промените коммит поради грешки или грешки.

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

За да се върнете към ангажимент:

git revert HEAD~1

Където ГЛАВА ~ 1 посочва конкретен коммит във вашето работно дърво.

Изтрийте проследен файл или директория

Можеш да използваш git rm -f за да изтриете всички проследени файлове във вашето работно дърво. Имайте предвид обаче, че Git не може да премахне непроследени файлове, тъй като не ги кешира.

За да изтриете поетапния файл:

git rm -f filename

За да премахнете поетапна папка:

git rm -r -f foldername

Git Logging

За да видите регистрационните си файлове и историята в Git:

git log

За да регистрирате дейностите в определен клон:

git log branch_name

Свързани: Как да проверите историята на проекта с git log

Понякога може да искате да се върнете към изоставен ангажимент. Така че, за да видите изоставени ангажименти, включително съответните:

git reflog

За да видите ref журналите за определен клон:

git reflog branch_name

Управлявайте вашите проектни версии като професионалист с Git

С Git, предлагащ много предимства, можете да управлявате изданията на проекта си дистанционно, без да злоупотребявате с файлове и папки на място във вашия основен клон. Освен това ви позволява лесно да управлявате проекти с екип.

Както видяхте, Git има много функции, които можете да проучите. Но внимавайте да използвате тези функции целенасочено. В противен случай може да се счупите. Въпреки това, все още можете да завъртите демонстрационно отдалечено хранилище и да играете с тези функции.

Дял Дял Туит електронна поща Управлявайте файловите си версии като програмист с Git

Програмистите създадоха системи за контрол на версиите (VCS) за решаване на проблеми с контрола на версиите на файлове. Нека разгледаме основите на контрола на версиите, използвайки най -добрата система днес, Git.

Прочетете Напред
Свързани теми
  • Програмиране
  • Уеб разработка
  • GitHub
  • Уроци по кодиране
За автора Идису Омисола(94 статии са публикувани)

Idowu е страстен за всичко умно технология и производителност. В свободното си време той играе с кодиране и превключва на шахматната дъска, когато му е скучно, но също така обича да се откъсва от рутината от време на време. Страстта му да показва на хората пътя около съвременните технологии го мотивира да пише повече.

Още от Idowu Omisola

Абонирайте се за нашия бюлетин

Присъединете се към нашия бюлетин за технически съвети, рецензии, безплатни електронни книги и изключителни оферти!

Щракнете тук, за да се абонирате