git blame используется для просмотра истории изменений конкретного файла с указанием автора и коммита, в котором была изменена каждая строка. Это помогает понять, кто и когда вносил изменения.Пример использования:
git blame <file>
Вывод показывает:
- Хэш коммита.
- Имя автора.
- Дату изменения.
- Номер строки и её содержимое.
Для ограничения просмотра определённым диапазоном строк:
git blame -L 10,20 <file>
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤1
Windows:
1. Скачать установщик с официального сайта: [git-scm.com](https://git-scm.com/).
2. Запустить установщик и следовать инструкциям на экране.
3. В процессе установки можно оставить настройки по умолчанию.
macOS:
1. Установить через Homebrew:
2. Если Homebrew не установлен, можно скачать установщик с [git-scm.com](https://git-scm.com/).
Linux:
1. Для дистрибутивов на основе Debian/Ubuntu:
2. Для дистрибутивов на основе Red Hat/Fedora:
После установки проверить версию Git:
Ставь👍 , если было полезно!
Больше ответов на сайте👈
✈️ Git собеседования
1. Скачать установщик с официального сайта: [git-scm.com](https://git-scm.com/).
2. Запустить установщик и следовать инструкциям на экране.
3. В процессе установки можно оставить настройки по умолчанию.
macOS:
1. Установить через Homebrew:
brew install git
2. Если Homebrew не установлен, можно скачать установщик с [git-scm.com](https://git-scm.com/).
Linux:
1. Для дистрибутивов на основе Debian/Ubuntu:
sudo apt update
sudo apt install git
2. Для дистрибутивов на основе Red Hat/Fedora:
sudo dnf install git
После установки проверить версию Git:
git --version
Ставь
Больше ответов на сайте
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 diff
Показывает изменения в файлах, которые еще не добавлены в индекс.
2. Сравнение индекса и последнего коммита:
git diff --cached
Отображает изменения, которые добавлены в индекс, но еще не закоммичены.
3. Сравнение между коммитами:
git diff commit1 commit2
Показывает различия между двумя коммитами.
4. Сравнение веток:
git diff branch1..branch2
Выводит различия между двумя ветками.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
git submodule add <repository-url> <path>
-
<repository-url> — ссылка на внешний репозиторий.-
<path> — путь, куда submodule будет добавлен в основном проекте.Submodule фиксируется как конкретный коммит, что обеспечивает стабильность. Для обновления submodule до последней версии:
git submodule update --remote
Submodule полезны для управления зависимостями, но требуют осторожности, так как добавляют сложность в работу с репозиторием.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
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 [email protected]: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