5 команд Git, які ви повинні знати, з прикладами коду

Я використовую Git вже кілька років, і я все ще шукаю, як виконувати деякі основні завдання. Тож ця стаття - це моя спроба навчитися робити деякі з цих речей, пишучи про них. І навіть якщо я все-таки забуду, принаймні, у мене буде посилання, де я легко знайду ці команди - і ти теж будеш.

Перш ніж перейти до вивчення цих речей, щось моє колега одного разу сказав, що прилип до мене. Він сказав мені, що з Git можливо все і що в Git нічого не втрачено.

Я не знаю, чи колишня частина його твердження цілком відповідає дійсності, але я маю це на увазі кожного разу, коли намагаюся щось зробити з Git. Я вірю, що збираюся знайти команду, яка допоможе мені зробити те, що мені потрібно зробити. Я просто мушу погуглити потрібні слова. Якщо ви новачок у Git, я хочу, щоб і ви в це повірили.

У цій статті ми дізнаємося, як зробити наступне:

  1. Додайте віддалені сховища
  2. Зміна віддалених сховищ
  3. Видалити гілку
  4. Об’єднайте файл з однієї гілки в іншу
  5. Скасувати коміт локально та віддалено

Хоча ця стаття призначена для людей, які мають базові знання Git, я зроблю все можливе, щоб якомога більше пояснити терміни.

1. Додайте віддалені сховища

Віддалені сховища - це версії ваших проектів, які зберігаються в Інтернеті чи деінде. Додавання віддаленого сховища - це спосіб вказати Git, де зберігається ваш код.

Ми можемо зробити це за допомогою URL-адреси сховища. Це може бути URL-адреса вашого сховища, вилка іншого користувача або навіть зовсім інший сервер.

Коли ви клонуєте сховище, Git неявно додає це сховище як originвіддалений для вас. Щоб додати нове сховище Git, ви використовуєте цю команду:

git remote add  

де shortname- унікальне віддалене ім'я та urlURL-адреса сховища, яке потрібно додати.

Наприклад, якщо я хочу додати сховище з коротким ім'ям 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.

Сподіваюся, вам сподобалась стаття. Дякуємо за читання.

Хочете отримувати повідомлення, коли я публікую нову статтю? Натисніть тут.