10 просунутих методів Git - KDnuggets

10 передових методів Git – KDnuggets

Вихідний вузол: 3083811

10 передових методів Git
Зображення від автора
 

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

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

Ви додавали та закріплювали файли таким чином кілька разів, але що, якщо я скажу вам, що це можна зробити в одному рядку з прапорцем `-am`? 

$ git add .
$ git commit -m "new project"

 

Спробуйте натомість це, і це додасть зміни файлу та створить фіксацію за допомогою повідомлення. 

$ git commit -am "new project"

 

[master 17d7675] new project
4 files changed, 2 insertions(+), 1 deletion(-)

 

Ви можете перейменувати ваше поточне повідомлення коміту за допомогою позначки `–amend` і написати нове повідомлення. Це допоможе вам із випадковими повідомленнями.

$ git commit --amend -m "Love"

 

[master 7b7f891] Love
Date: Mon Jan 22 17:57:58 2024 +0500
4 files changed, 2 insertions(+), 1 deletion(-)

 

Ви можете включити додаткові зміни до поточного коміту перед надсиланням його у віддалений репозиторій. Для цього вам потрібно додати зміни до файлу, а потім закріпити за допомогою прапорця `–amend`. Щоб зберегти попереднє повідомлення коміту, просто використовуйте позначку `–no-edit`.

$ git add . 
$ git commit --amend --no-edit

 

[master f425059] Love
Date: Mon Jan 22 17:57:58 2024 +0500
6 files changed, 2 insertions(+), 34 deletions(-)

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

$ git push origin master --force

 

Enumerating objects: 7, done.
Counting objects: 100% (7/7), done.
Delta compression using up to 16 threads
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 357 bytes | 357.00 KiB/s, done.
Total 4 (delta 2), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
To https://github.com/kingabzpro/VSCode-DataCamp.git
8f184d5..f425059  master -> master

Щоб скасувати фіксацію в Git, ви можете скористатися командою `revert`. Однак ця команда не видаляє жодних комітів. Натомість створюється новий комміт, який скасовує зміни, внесені початковим комітом.

Ми будемо використовувати `log` з прапорцем `–oneline`, щоб переглянути історію комітів у коротшій формі. 

$ git log --oneline

 

f425059 (HEAD -> master, origin/master) Love
8f184d5 first commit

 

Щоб повернутися до попереднього коміту, ми використовуємо команду `git revert`, за якою слідує ідентифікатор коміту. Це створює новий комміт зі змінами попереднього коміту.

$ git revert 8f184d5

Хочете підвищити свою продуктивність на GitHub? За допомогою GitHub Code Spaces тепер ви можете редагувати та запускати свій код прямо у своєму браузері. 

Щоб отримати доступ до цієї функції, просто перейдіть до свого улюбленого сховища, натисніть клавішу крапки (“.”) на клавіатурі, і вас буде перенаправлено до інтерфейсу користувача VSCode.

 

10 передових методів Git
Зображення від автора
 

Ви можете внести зміни в код і відправити їх у віддалений репозиторій. Однак, якщо ви хочете запустити код у терміналі, вам потрібно запустити Codespace у хмарі. Безкоштовна версія пропонує чудовий варіант для запуску коду Python у вашому браузері. Хіба це не круто? Я тільки сьогодні дізнався про це.

 

10 передових методів Git
Зображення від автора

Працюючи над проектом, ви можете додати файли до робочої області, а потім зафіксувати їх, щоб зберегти ваш поточний прогрес. Однак є інший спосіб легко зберегти вашу роботу за допомогою команди `stash`. Коли ви використовуєте `stash`, ви зберігаєте свій поточний прогрес, не додаючи його до робочої області та не фіксуючи. Це дозволяє зберегти ваш прогрес і відновити його щоразу, коли вам це потрібно.

Ми збережемо наш поточний прогрес, надавши ім’я та сховавши його. 

$ git stash save new-idea

 

Saved working directory and index state On master: new-idea

 

Ви можете переглянути свій список схованок і записати відповідний індекс, щоб отримати його.

$ git stash list

 

stash@{0}: On master: new-idea

 

Наш запас «нових ідей» зберігається під індексом 0. Щоб отримати його, скористайтеся цією командою:

$ git stash apply 0

 

On branch master
Your branch is up to date with 'origin/master'.

У вас є можливість змінити назву гілки за умовчанням на більш відповідну. У цьому випадку ми перейменуємо «master» на «main». 

$ git branch -M main

 

10 передових методів Git
 

Ви можете перевірити зміни за допомогою такої команди: 

$ git status

 

On branch main
Your branch is up to date with 'origin/master'.

Якщо ви хочете переглянути детальну історію всіх комітів, зроблених у поточному сховищі, ви можете скористатися командою `git log`. Однак результат може бути важко прочитати. Щоб зробити його більш читабельним, ви можете використовувати прапорці `graph`, `decorate` і `oneline`. Це відобразить зміни, зроблені в кількох гілках, і спосіб їх об’єднання.

$ git log --graph --decorate --oneline

 

10 передових методів Git

Кілька разів я переходив на нову гілку й забував назву попередньої гілки. Тому мені довелося використати команду `git branch -a`, щоб переглянути список імен гілок. Однак існує простіший спосіб повернутися до початкової гілки, використовуючи тире «-» після команди `git checkout`.

Спочатку ми створимо нову гілку Git «neo».

$ git branch neo

 

Перейдемо на гілку «нео».

$ git checkout neo

 

Switched to branch 'neo'

 

Щоб повернутися до вихідної гілки, ми використаємо таку команду:

$ git checkout -

 

Switched to branch 'main'

Ми дізналися про заміну віддаленого сховища. Давайте дізнаємося, як замінити локальний репозиторій за допомогою віддаленого репозиторію.

Ми будемо використовувати команду `fetch`, щоб отримати останні зміни з віддаленого сховища. 

$ git fetch origin

 

Потім ми використаємо команду «reset» із прапорцем «hard», щоб перевизначити будь-які локальні зміни за допомогою віддаленої версії. Зауважте, що це назавжди скасує будь-які локальні зміни.

$ git reset --hard origin/master

 

HEAD is now at f425059 Love

 

Якщо все ще є невідстежені файли, їх можна видалити за допомогою такої команди:

$ git clean -df

Я отримав натхнення написати цю статтю після перегляду a YouTube відео від Fireship. Я захоплююся творцем за його вміння пояснювати складні теми простим способом. Дотримуючись його методу, я багато чого дізнався про функції Git.

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

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

Абід Алі Аван (@1abidaliawan) є сертифікованим фахівцем із дослідження даних, який любить створювати моделі машинного навчання. Зараз він зосереджується на створенні контенту та написанні технічних блогів про технології машинного навчання та науки про дані. Абід має ступінь магістра з управління технологіями та ступінь бакалавра в галузі телекомунікаційної інженерії. Його бачення полягає в тому, щоб створити продукт AI з використанням нейронної мережі графа для студентів, які борються з психічними захворюваннями.

Часова мітка:

Більше від KDnuggets