easy_dev991
603 subscribers
23 photos
16 videos
3 files
162 links
Делюсь интересными находками/лайфхаками в процессе разработки под iOS, и возможно ты найдешь что-то полезное для себя!

GitHub: https://github.com/easydev991
Download Telegram
Некоторые вещи на отдельную статью не тянут, поэтому буду их публиковать не по графику.

#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
👍21
#experience #git #beginner

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).
👌51