Некоторые вещи на отдельную статью не тянут, поэтому буду их публиковать не по графику.
#git #terminal #hint
Удаляем все локальные ветки
(кроме dev, develop, master, main)
1) Переходим в терминале в папку с проектом
2) Проверяем, чтобы в команде были указаны ветки, которые нельзя удалять (по аналогии с dev, develop, master и main)
3) Запускаем команду
#git #terminal #hint
Удаляем все локальные ветки
(кроме dev, develop, master, main)
1) Переходим в терминале в папку с проектом
2) Проверяем, чтобы в команде были указаны ветки, которые нельзя удалять (по аналогии с dev, develop, master и main)
3) Запускаем команду
cd myProject
git branch | grep -v "dev" | grep -v "develop" | grep -v "master" | grep -v "main" | xargs git branch -D
👍2❤1
#experience #git #beginner
Git - важный инструмент в работе. Рассказываю простыми словами основные моменты с точки зрения iOS-разработчика 👨💻
Git - важный инструмент в работе. Рассказываю простыми словами основные моменты с точки зрения iOS-разработчика 👨💻
😁4🤝2
#git #terminal #hint #gitignore
Бывает, в гит запушили файл, которого там не должно быть, а потом добавили его в
Чтобы файл корректно удалился из гита с учетом новых правил игнора, достаточно выполнить эти две команды в терминале в папке с проектом:
Пояснение:
- первая команда говорит гиту перестать отслеживать все файлы в проекте, но не удалять их с диска
- вторая команда снова добавляет все файлы и изменения в список для включения в следующий коммит, но теперь уже с учётом
- остается только сделать коммит/пуш с изменениями 👌
Для экспертов по гиту:
Знаю, что можно проделать операции только с нужным файлом, а не со всеми сразу, но мне удобнее так, и вдруг кому-то тоже 😉
Бывает, в гит запушили файл, которого там не должно быть, а потом добавили его в
.gitignore
. Но файл уже находится в гите, и его нужно оттуда удалить.Чтобы файл корректно удалился из гита с учетом новых правил игнора, достаточно выполнить эти две команды в терминале в папке с проектом:
git rm -rf --cached .
git add .
Пояснение:
- первая команда говорит гиту перестать отслеживать все файлы в проекте, но не удалять их с диска
- вторая команда снова добавляет все файлы и изменения в список для включения в следующий коммит, но теперь уже с учётом
.gitignore
(то есть файлы, которые вы исключили, не попадут в список)- остается только сделать коммит/пуш с изменениями 👌
Для экспертов по гиту:
Знаю, что можно проделать операции только с нужным файлом, а не со всеми сразу, но мне удобнее так, и вдруг кому-то тоже 😉
❤5🔥2
#terminal #git #hint
Бывает, что после выполнения задачи ветку удаляют в репозитории, а локально она все еще висит. И когда таких веток набирается много, можно в них запутаться 😅
Чтобы удалить разом все такие ветки, нужно перейти в терминале в папку с проектом и выполнить команду:
Объяснение:
•
•
• Для каждой ветки проверяется, существует ли она на сервере (
• Если ветка отсутствует на сервере, она удаляется принудительно (
Перед выполнением команды нужно убедиться, что вы переключились на ветку, которую не хотите удалять (например,
Бывает, что после выполнения задачи ветку удаляют в репозитории, а локально она все еще висит. И когда таких веток набирается много, можно в них запутаться 😅
Чтобы удалить разом все такие ветки, нужно перейти в терминале в папку с проектом и выполнить команду:
git branch | grep -v "^\*" | while read branch; do
if ! git show-ref --verify --quiet refs/remotes/origin/$branch; then
git branch -D $branch
fi
done
Объяснение:
•
git branch
выводит список всех локальных веток.•
grep -v "^\*"
исключает текущую активную ветку (чтобы не удалять её).• Для каждой ветки проверяется, существует ли она на сервере (
refs/remotes/origin/branch
).• Если ветка отсутствует на сервере, она удаляется принудительно (
git branch -D
), что удалит ветку даже если в ней есть несмерженные изменения.Перед выполнением команды нужно убедиться, что вы переключились на ветку, которую не хотите удалять (например,
main
или master
).👌5❤1