10 продвинутых приемов Git

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. Однако важно отметить, что использование флага Force не рекомендуется и его следует использовать только тогда, когда вы абсолютно уверены в том, что делаете. Имейте в виду, что использование флага 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. Однако эта команда не удаляет никакие фиксации. Вместо этого он создает новый коммит, который отменяет изменения, внесенные исходным коммитом.

Мы будем использовать журнал с флагом –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

На написание этой статьи меня вдохновил просмотр YouTube видео от Fireship. Я восхищаюсь автором за его умение простым языком объяснять сложные темы. Следуя его методу, я многое узнал о возможностях Git.

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

Я надеюсь, что вы нашли этот блог полезным. Дайте мне знать, если вы хотите прочитать больше сообщений с байтовой информацией о часто используемых инструментах в мире науки о данных.
 
 

Абид Али Аван (@ 1abidaliawan) — сертифицированный специалист по анализу данных, который любит создавать модели машинного обучения. В настоящее время он занимается созданием контента и ведением технических блогов по технологиям машинного обучения и обработки данных. Абид имеет степень магистра в области управления технологиями и степень бакалавра в области телекоммуникаций. Его видение состоит в том, чтобы создать продукт искусственного интеллекта с использованием графовой нейронной сети для студентов, борющихся с психическими заболеваниями.

Отметка времени:

Больше от КДнаггетс