ζ༼Ɵ͆ل͜Ɵ͆༽ᶘ

5 советов по Git

0 комментов
02.07.2021
3 мин чтения

Стать опытным пользователем Git входит в список задач каждого разработчика. Сегодня мы подготовили 5 советов, которые помогут вам повысить уровень вашего рабочего процесса и приблизить вас на один шаг к Git мастеру.


Совет #1

Измените предыдущий коммит без изменения сообщения о коммите

Вы только что зафиксировали свои изменения в локальной копии с подробным и продуманным сообщением, но в тот момент, когда вы нажмете "ВЕРНУТЬ", вы поняли, что забыли добавить одно изменение, которое действительно там должно быть. Если бы только был способ обновить предыдущий коммит вместо создания нового...

$ git commit --amend --no-edit

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


Совет #2

Держите свои коммиты организованными

Вы просто хотели исправить эту одну функцию, но тем временем вошли в поток, устранили сложную ошибку и заметили очень досадную опечатку. Одно привело к другому, и внезапно вы поняли, что кодили в течение нескольких часов, фактически ничего не совершая. Теперь ваши изменения слишком велики, чтобы втиснуть их в один коммит...

$ git add -p <filename>

С помощью git add-p (или git add --patch) вы можете выбрать, какие части кода из файла вы хотите включить в свой коммит. После выполнения команды вы получите список опций, которые вы можете добавить в git add-p

Выбрав s, вы можете разделить кусок на более мелкие кусочки. Оттуда вы можете просто выбрать фрагменты, которые вы хотите разместить для коммита (и опустить те, которые вы не делаете), перейдя с помощью y и n (или выбрав любой другой вариант из списка).


Совет #3

Верни меня в лучшие времена (когда все работало!)

Не лучший твой день. Ты внес изменения, которых не должен был, и теперь все сломано… Есть ли способ отменить эти коммиты?

$ git reflog

С помощью этой удобной команды вы можете получить запись всех коммитов, выполненных в Git.

Теперь вам просто нужно найти фиксацию до той, которая вызвала все хлопоты. HEAD@{index} представляет указанную фиксацию, поэтому просто замените индекс правильным номером и запустите:

$ git reset HEAD@{index}

Действие по умолчанию для сброса git reset есть git reset --mixed. Это означает, что изменения в вашем рабочем каталоге будут сохранены, но не будут поэтапными (поскольку индекс был изменен в соответствии с выбранной фиксацией, изменений в индексе больше нет).

Другие варианты:

$ git reset --soft
# Не изменяет индекс или рабочее дерево, оставляя ваши изменения на стадии коммита.
$ git reset --hard
# Используйте с осторожностью, так как он сбрасывает как индекс, так и рабочее дерево. 

Незафиксированные изменения и все последующие коммиты будут удалены. И voilà, вы можете начать все сначала с того момента, когда все в вашем хранилище работало как по волшебству. Не забывайте использовать его только локально, так как изменение общего хранилища считается серьезным преступлением.


Совет #4

Давайте столкнемся с этими конфликтами слияния

Вы столкнулись с конфликтом слияния, но после сравнения двух конфликтующих версий вы все еще не знаете, какая из них правильная.

$ git checkout --conflict=diff3 <filename>

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

$ git config --global merge.conflictstyle diff3

💡 " Разрешать конфликты слияний - это весело!" - никогда не говорил никто. Хорошей новостью является то, что с помощью Git Live вы можете получать уведомления о конфликтах до их возникновения. Индикаторы желоба показывают изменения ваших товарищей по команде в вашем редакторе в режиме реального времени. Ознакомьтесь с этим сообщением в блоге, чтобы узнать больше.


Совет #5

Пусть об этом позаботится автозамена

Вы очень гордитесь своей головокружительной скоростью набора текста, но в то же время вы даже не можете вспомнить, сколько раз вы набирали “ git status” вместо “ git status”, и это слегка раздражает вас.

$ git config --global help.autocorrect <integer>

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

3
Сегодня
День улёта