Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1
git reset
или git rm
. Вот два способа:1. Использование git reset:
Если файл уже был добавлен в коммит, но нужно его удалить, можно сделать мягкий сброс (soft reset) и пересоздать коммит:
git reset HEAD~1
git reset <file> # Убрать файл из индекса
git commit -c ORIG_HEAD
Этот способ сохраняет изменения в рабочей директории.
2. Использование git rm:
Если файл нужно полностью удалить из истории, можно использовать
git rm
:
git rm --cached <file> # Удалить файл из индекса, но оставить в рабочей директории
git commit --amend # Перезаписать последний коммит
После этого файл будет исключен из коммита.
Оба метода позволяют исправить историю, но важно помнить, что изменение коммитов может повлиять на работу с удаленными репозиториями.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤1
1. Ручное разрешение: Отредактировать конфликтующие файлы, оставив нужные изменения, и выполн
ить git
add для фиксации.
# После редактирования файла
git add <conflicted_file>
git commit
2. Использование инструментов: Воспользоваться merge-инструментами, такими как
git mergetool
, для визуального разрешения конфликтов.3. Принятие изменений одной из веток: Использовать
git checkout --ours
или git checkout --theirs
для выбора изменений из текущей или другой ветки соответственно.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
.gitignore
. Для этого используется синтаксис с символом *
, который обозначает любое имя файла.Пример: игнорирование всех файлов с расширением
.log
и .tmp
.
*.log
*.tmp
Эти правила указывают Git игнорировать все файлы, заканчивающиеся на
.log
и .tmp
, в любой директории проекта. Файл .gitignore
должен находиться в корне репозитория.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
git clone git@github.com:username/repository.git
SSH обеспечивает безопасное соединение без необходимости ввода логина и пароля при каждом взаимодействии с удаленным репозиторием. Это особенно полезно для автоматизации и CI/CD.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤3
git rebase
позволяет изменять историю коммитов, объединять, редактировать или переупорядочивать их. Для запуска используется команда:
git rebase -i <commit_hash>
После выполнения команды откроется редактор со списком коммитов. Каждый коммит можно изменить с помощью команд:
-
pick
— оставить коммит без изменений. -
reword
— изменить сообщение коммита. -
edit
— остановиться для внесения изменений в коммит. -
squash
— объединить коммит с предыдущим. -
drop
— удалить коммит.После сохранения изменений Git применяет их последовательно. Интерактивный rebase полезен для очистки истории перед слиянием веток.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤1
git commit
. Перед этим необходимо добавить изменения в индекс (staging area) с помощью git add
. Пример:
git add .
git commit -m "Описание изменений"
Команда
git add .
добавляет все изменения в текущей директории в индекс. Если нужно добавить только конкретные файлы, вместо .
указываются их имена.Флаг
-m
позволяет сразу добавить сообщение коммита. Если его не указать, откроется текстовый редактор для ввода сообщения.Для более короткого варианта, можно использовать
git commit -am "Описание изменений"
, чтобы добавить изменения и создать коммит одной командой. Однако это работает только для уже отслеживаемых файлов.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
git fetch
используется для получения изменений из удаленного репозитория без их автоматического слияния с текущей рабочей веткой. Она загружает все новые коммиты, ветки и теги, но не изменяет рабочую директорию или текущую ветку.Пример использования:
git fetch origin
Эта команда загружает изменения из удаленного репозитория
origin
. После выполнения git fetch
можно вручную проверить изменения и решить, как их интегрировать, например, с помощью git merge
или git rebase
.Основное отличие от
git pull
в том, что git fetch
только загружает данные, а git pull
сразу объединяет их с текущей веткой. Это делает git fetch
более безопасным, так как позволяет предварительно изучить изменения перед слиянием.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
git bisect
— это инструмент для бинарного поиска коммита, который внес ошибку в код. Он автоматически проверяет коммиты, начиная с известного рабочего состояния и заканчивая нерабочим, чтобы найти точное место появления проблемы.
git bisect start
git bisect bad # Указать текущий коммит как нерабочий
git bisect good <commit_hash> # Указать коммит, где все работало
После каждого шага
git bisect
перемещается на середину диапазона, пока не найдет проблемный коммит.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤1
git revert
создает новый коммит, который отменяет изменения, внесенные указанным коммитом. Это безопасный способ отката, так как он не изменяет историю, а добавляет новый коммит с обратными изменениями.
git revert <commit_hash> # Создает коммит, отменяющий изменения
Если нужно отменить несколько коммитов, можно указать диапазон:
git revert <oldest_commit_hash>..<latest_commit_hash>
Этот подход полезен для исправления ошибок без перезаписи истории.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1
git config
. Установка имени и email:
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
Эти данные будут использоваться для всех коммитов в системе.
Проверка текущих настроек:
git config --list
Эта команда покажет все текущие настройки, включая имя и email.
Настройки сохраняются в файле конфигурации Git и могут быть изменены в любой момент.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Чтобы создать новый тег, используется команда
git tag
. Например, для создания легковесного тега:
git tag v1.0
Этот тег будет указывать на текущий коммит. Для создания аннотированного тега, который содержит дополнительную информацию (автор, дата, сообщение), используется флаг
-a
:
git tag -a v1.0 -m "Релиз версии 1.0"
После создания тега локально, его можно отправить в удаленный репозиторий:
git push origin v1.0
Теги помогают быстро находить важные точки в истории проекта и упрощают навигацию по коммитам.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Staging area (область подготовки) — это промежуточная область в Git, где фиксируются изменения перед тем, как они будут закоммичены. Она позволяет выбирать конкретные файлы или части файлов для включения в следующий коммит, что обеспечивает гибкость в управлении изменениями.
Staging area помогает организовать изменения, разделяя их на логические блоки. Это особенно полезно при работе над несколькими задачами одновременно, чтобы не смешивать изменения в одном коммите.
Ставь👍 , если было полезно!
Больше ответов на сайте👈
✈️ Git собеседования
git add file.txt # Добавляет file.txt в staging area
git status # Показывает изменения в staging area
git commit -m "Add file.txt" # Создает коммит из изменений в staging area
Staging area помогает организовать изменения, разделяя их на логические блоки. Это особенно полезно при работе над несколькими задачами одновременно, чтобы не смешивать изменения в одном коммите.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Основные особенности:
- Форк используется для внесения изменений без прямого доступа к исходному репозиторию.
- Позволяет предложить правки через Pull Request (PR) в оригинальный проект.
- Часто применяется в open-source разработке.
Как создать форк:
1. На GitHub/GitLab нажать кнопку Fork в интерфейсе репозитория.
2. Склонировать свою версию на локальную машину:
git clone https://github.com/your-username/repository.git
Форк отличается от ветки (branch) тем, что существует как отдельный репозиторий, а не внутри исходного проекта.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6