Для работы с несколькими удаленными репозиториями можно добавить дополнительные remote-источники. Например, чтобы добавить новый remote:
Просмотреть список всех удаленных репозиториев:
Для получения изменений из конкретного remote:
Чтобы отправить изменения в определенный remote:
Удалить ненужный remote:
Ставь👍 , если было полезно!
Больше ответов на сайте👈
✈️ Git собеседования
git remote add upstream https://github.com/user/repo.git
Просмотреть список всех удаленных репозиториев:
git remote -v
Для получения изменений из конкретного remote:
git fetch upstream
Чтобы отправить изменения в определенный remote:
git push origin main
Удалить ненужный remote:
git remote remove upstream
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤1
1. Найти конфликты: После попытки слияния Git отметит конфликтующие участки в файлах. Они выглядят так:
<<<<<<< HEAD
изменения из текущей ветки
=======
изменения из ветки, которую сливают
>>>>>>> branch-name
2. Редактировать файл: Нужно выбрать, какие изменения оставить, или объединить их вручную. Удалить маркеры <<<<<<<, =======, >>>>>>>.
3. Добавить изменения в индекс: После редактирования файл нужно добавить в индекс:
git add <имя_файла>
4. Завершить слияние: После разрешения всех конфликтов завершить слияние командой:
git commit
Если нужно отменить слияние и начать заново, используется команда
git merge --abort.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1
cherry-pick позволяет перенести конкретный коммит из одной ветки в другую. Это полезно, когда нужно применить изменения из одного коммита без слияния всей ветки.1. Переключиться на целевую ветку:
git checkout target-branch
2. Выполнить cherry-pick: Указать хэш коммита, который нужно перенести:
git cherry-pick <commit-hash>
Если возникают конфликты, их нужно разрешить вручную, аналогично процессу слияния. После редактирования файлов добавить изменения в индекс и завершить cherry-pick:
git add <file>
git cherry-pick --continue
Если нужно отменить cherry-pick, используется команда
git cherry-pick --abort.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
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 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