5 Git команди, които трябва да знаете, с примери за кодове

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

Преди да продължим да научаваме тези неща, нещо, което един мой колега веднъж каза, ме е залепило. Той ми каза, че всичко е възможно с Git и че нищо не се губи в Git.

Не знам дали предишната част от неговото твърдение е напълно вярна, но го имам предвид всеки път, когато се опитвам да направя нещо с Git. Вярвам, че ще намеря команда, която ще ми помогне да направя това, което трябва. Просто трябва да потърся в Google с правилните думи. Ако сте нов в Git, искам и вие да повярвате в това.

В тази статия ще научим как да направим следното:

  1. Добавете отдалечени хранилища
  2. Променете отдалечените хранилища
  3. Изтрийте клон
  4. Обединете файл от един клон в друг
  5. Отменете фиксиране локално и отдалечено

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

1. Добавете отдалечени хранилища

Отдалечените хранилища са версии на вашите проекти, които се съхраняват в Интернет или другаде. Добавянето на отдалечено хранилище е начин да кажете на Git къде се съхранява вашият код.

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

Когато клонирате хранилище, Git неявно добавя това хранилище като originдистанционно за вас. За да добавите ново хранилище на Git, използвате тази команда:

git remote add  

където shortnameе уникално отдалечено име и urlе URL адресът на хранилището, което искате да добавите.

Например, ако искам да добавя хранилище с краткото име upstream, мога да направя това:

git remote add upstream //github.com/sarahchima/personal-website.git

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

За да видите списъка с отдалечени URL адреси, които сте добавили, изпълнете следната команда:

git remote -v

Ще видите списък с отдалечените имена и URL адресите, които сте добавили.

Но какво, ако искате да промените тези отдалечени URL адреси? Нека да преминем към следващата команда Git.

2. Променете отдалечените хранилища

Има няколко причини, поради които може да искате да промените отдалечен URL адрес. Например, наскоро трябваше да премина от използване на httpsURL към SSHURL адреси за проект, по който съм работил.

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

git remote set-url  

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

Използвайки горния пример, ако искам да променя отдалечения URL адрес, ще направя това:

git remote set-url upstream [email protected]:sarahchima/personal-website.git

Не забравяйте да стартирате, за git remote -vда проверите дали промяната е работила.

Достатъчно за отдалечените хранилища. Нека да преминем към нещо различно.

3. Изтрийте клон както локално, така и отдалечено

Клонът е версия на хранилището, която се различава от основния работещ проект. Може да искате да прочетете клонове на Git и как да добавите клон, ако не сте запознати с този процес.

Как да изтрия локален клон

За да изтриете клон локално, уверете се, че не сте в клона, който искате да изтриете. Така че трябва да платите в друг клон и да използвате следната команда:

git branch -d 

Така че, ако искам да изтрия клон с име fix/homepage-changes, ще направя следното:

git branch -d fix/homepage-changes

Можете да стартирате git branchна вашия терминал, за да потвърдите, че клонът е бил успешно премахнат.

Понякога може да се наложи да изтриете клон, който вече сте изпратили до отдалечено хранилище. Как можете да направите това?

Как да изтрия отдалечен клон

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

git push  --delete 

където remote-nameе името на отдалеченото хранилище, от което искате да изтриете клона.

Ако искам да изтрия клона fix/homepage-changesот origin, ще направя това:

git push origin --delete fix/homepage-changes

Клонът ще бъде изтрит дистанционно сега.

4. Обединете файл от един клон в друг

Понякога може да искате да обедините съдържанието на конкретен файл в един клон в друг. Например искате да обедините съдържанието на файл index.htmlв masterклона на проект в developmentклона. Как можеш да правиш това?

Първо, направете плащане до десния клон (клонът, който искате да обедините файла), ако все още не сте го направили. В нашия случай това е developmentклонът.

git checkout development

След това обединете файла, като използвате командата checkout --patch.

git checkout --patch master index.html

Ако искате напълно да замените index.htmlфайла в developmentклона с този в masterклона, оставете --patchзнамето.

git checkout master index.html

Също така, оставете --patchзнамето, ако index.htmlфайлът не съществува в developmentклона.

5. Отмяна на фиксиране

Има моменти, когато сте извършили неправилно промените си и искате да отмените този ангажимент. Понякога може дори да сте натиснали промените в отдалечен клон. Как можете да отмените или изтриете този ангажимент? Нека започнем с отмяна на локален ангажимент.

Как да отмените локален ангажимент

Един от начините да отмените локално фиксиране е чрез git reset. Например, ако искате да отмените последния направен ангажимент, можете да изпълните тази команда:

git reset --soft HEAD~1

На --softзнамето запазва промените, които сте направили до файловете ви, извършени само ангажират е необратимо. Ако обаче не искате да запазите промените, направени във файловете, можете --hardвместо това да използвате флага така:

git reset --hard HEAD~1

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

Също така имайте предвид, че HEAD~1сочи към последния фиксиране. Ако искате да отмените ангажимент преди това, можете да използвате, за git reflogда получите дневник на всички предишни фиксирания. След това използвайте git resetкомандата с хеш на фиксиране (числото, което получавате в началото на всеки ред от историята). Например, ако моят хеш на фиксиране е 9157b6910, ще направя това

git reset --soft 9157b6910 

Как да отмените отдалечен ангажимент

Има моменти, в които искате да отмените ангажимент, който сте натиснали в отдалечено хранилище. Можете да използвате, git revertза да го отмените локално и да прокарате тази промяна в отдалечения клон.

Първо, вземете хеш на фиксиране, използвайки git reflog.

git reflog

След това го върнете. Ако приемем, че хешът ми на ангажиране е 9157b6910, ще направя следното:

git revert 9157b6910 

Накрая натиснете тази промяна към отдалечения клон.

Обобщение

В тази статия обсъдихме командите за извършване на следното в Git:

  1. Добавете отдалечени хранилища
  2. Променете отдалечените хранилища
  3. Изтрийте клон
  4. Обединете файл от един клон в друг
  5. Отменете фиксиране локално и отдалечено

Може би някой ден ще пиша за още неща, които можете да правите с Git.

Надявам се статията да ви е харесала. Благодаря за четенето.

Искате ли да получавате известия, когато публикувам нова статия? Натисни тук.