Разгръщането на вашия проект чрез отдалечено хранилище ви позволява гъвкаво да управлявате всеки бит от него. Поправки на грешки, актуализации на функции, изтриване на файлове, работа в екип, принос с отворен код, внедряване на код и други са вече на една ръка разстояние със силни познания за 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
- Уроци по кодиране
Idowu е страстен за всичко умно технология и производителност. В свободното си време той играе с кодиране и превключва на шахматната дъска, когато му е скучно, но също така обича да се откъсва от рутината от време на време. Страстта му да показва на хората пътя около съвременните технологии го мотивира да пише повече.
Още от Idowu OmisolaАбонирайте се за нашия бюлетин
Присъединете се към нашия бюлетин за технически съвети, рецензии, безплатни електронни книги и изключителни оферти!
Щракнете тук, за да се абонирате