Привет всем, вот краткое руководство по командам git:
git config
Установка имени автора и почты, которые будут использоваться для всех коммитов в текущем репозитории, разработчики обычно используют
--глобальный флаг
для установки параметров конфигурации для текущего пользователя.
git clone
Клонирование удаленного репозитория с помощью HTTPS или SSH. Это должно создать новый дочерний каталог для исходных текстов проекта.
git status
Показывает статус вашей текущей ветки. Он сообщит вам, какие файлы вы изменили, какие файлы находятся на стадии фиксации, а какие — нет. Она также сообщит вам, если ваша локальная ветка отстает или не обновляется от удаленной ветки отслеживания. Эта команда особенно полезна в сочетании с
git add
, когда вы хотите зафиксировать только определённые файлы.
git branch
Создать ветку или показать список локальных или удаленных веток. С помощью git branch вы можете добавить опции для выполнения действий, связанных с ветками:
git fetch
Извлекает ветви с сервера, вместе с их историей и информацией. Вы также можете использовать
git fetch origin
для обновления удаленных ветвей.
git pull
Обновите рабочий каталог, выполнив git fetch, а затем git merge. Это полезно, если вы хотите привести свою ветку в соответствие с веткой удаленного отслеживания.
Вы также можете использовать опцию--rebase
, чтобы выполнить rebase вместо слияния.
git checkout
У этой команды есть несколько функций. Она может быть использована для создания новой ветки на основе текущей ветки, для выгрузки ветки с сервера или для переключения на другую ветку.
git add
Вы внесли изменения в свою ветку и хотите подготовить изменения для фиксации. Вам нужно добавить их в так называемый
index
. Вот два способа сделать это:
git commit
Вы хотите сделать фиксацию! Отлично! Вот как вы это сделаете:
git push
Как только вы сделаете коммит, вам нужно будет отправить изменения на сервер, чтобы сделать их видимыми для всего мира. Как только вы сделаете push, ваша ветка и коммит(ы) будут видны другим.
- ❗ ❗ ❗ ОСТОРОЖНО: Это потенциально страшная команда, и вы должны использовать ее только в том случае, если вы действительно знаете, что делаете. Она перезапишет ветку, указанную вами в удаленном хранилище, на вашу локальную копию ветки. ❗ ❗ ❗
журнал git
Показывает историю всех ответвлений и их коммитов. Полезно для просмотра последнего коммита и получения хэшей коммитов.
git rebase
Пересоздание — немного более сложная, но невероятно полезная функция, когда она вам нужна. Когда вы выполняете rebase, вы изменяете основу вашей ветки. По сути, rebase просматривает каждый коммит в вашей ветке и обновляет код так, чтобы казалось, что вы всё это время работали на новой базе. Иногда rebase будет «блевать», если столкнётся с ситуацией, когда попытается обновить часть кода, которую вы уже изменили. В этом случае он не знает, какую версию кода использовать, поэтому он оставляет вам возможность решить эту проблему вручную.
Хотя они имеют схожее назначение, rebase отличается от merge тем, что rebase обновляет вашу ветку путем корректировки каждого коммита, а merge обновляет вашу ветку путем создания нового коммита в вершине вашей ветки. Обычно в проекте или команде существуют стандарты и практика, касающиеся того, какой метод предпочтительнее. Обсудите со своей командой, какой рабочий процесс они предпочитают.
git stash
Stashing позволяет вам сохранить текущие нестадийные изменения и вернуть ветку в немодифицированное состояние. Когда вы сохраняете изменения, они переносятся в стек. Это особенно полезно, если вам нужно быстро переключиться на другую ветку без фиксации незавершённых изменений.
git reset
Git reset используется для разгруппировки файлов или удаления коммитов. Он делает это, изменяя то, на что указывает вершина ветви (HEAD).
Сброс затрагивает тридерева
:
- HEAD: вершина вашей ветки
- Index: область хранения, которая подобна предлагаемому коммиту
- Рабочая директория: файлы, находящиеся в данный момент на вашем дискеСуществует три режима сброса:
--soft
,--mixed
(по умолчанию) и--hard
:
--hard
:Отменить
git add
:
git add .
Отменить последнюю фиксацию:
git commit -a -m "commit message"
git commit -a -m "new commit message"
Отмена фиксации навсегда:
🌐 Связь со мной
🔗LinkedIn
🔗GitHub