# Удалить файл из всей истории (осторожно!)
git filter-branch --tree-filter 'rm -f имя_файла' HEAD
Рубрика: git
Подтянуть изменения из основного проекта Git
Ситуация:
Был сделан fork из проекта https://github.com/datalens-tech/datalens. Через некоторое время были внесены изменения, как в исходном проекте, так и в fork-project
Решение:
На локальном компьютере в проекте выполняем команду:
git remote add datalens-tech https://github.com/datalens-tech/datalens
Где datalens-tech — это произвольное имя.
Далее выполняем
git fetch datalens-tech
git merge datalens-tech/main
Исправляем конфликты, если они есть.
git push
Сохраняем результат
Удаление файла или папки из репозитория GIT
Удаление файла:
git rm --cached <file>
Удаление каталога:
git rm --cached <folder> -r
Установка GitLab на собственный сервер
sudo apt update sudo apt install ca-certificates curl openssh-server tzdata perl cd /tmp curl -LO https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh sudo bash /tmp/script.deb.sh
Устанавливаем GitLab
sudo apt install gitlab-ceЧитать далее «Установка GitLab на собственный сервер»
Xcode: создание пакета
Создаем пакет стандартными способами xcode
Далее можно сохранить его в любой git и применять метки (tag):
git tag -a 1.0.0 -m "version 1.0.0"
git tag
1.0.0
git push origin --tags
Получение последних изменений в GIT — hard
git fetch --all git reset --hard origin/master
Удаление ветки из GIT
Удаление ветки локально:
git branch -d test
Удаление remote ветки:
git push origin --delete test
Git: Как удалить branch с сервера?
Для локального удаления branch вызвать команду
git branch -d {the_local_branch}
Затем для удаления на сервере
git push origin --delete {the_remote_branch}
Reference: https://makandracards.com/makandra/621-git-delete-a-branch-local-or-remote
Git Daemon
До LTS 14.04 Ubuntu использовала конфигурацию сервисного блока. Поэтому на Ubuntu ⇐ 14.04 вы можете использовать скрипт Upstart. Итак, в следующем файле
/etc/init/local-git-daemon.conf
вы ставите этот скрипт:
start on startup
stop on shutdown
exec /usr/bin/git daemon \
--user=git --group=git \
--reuseaddr \
--base-path=/srv/git/ \
/srv/git/
respawn
По соображениям безопасности настоятельно рекомендуется, чтобы этот демон запускался как пользователь с разрешениями только для чтения в репозитории — вы можете легко сделать это, создав нового пользователя git-ro и запустив демона в качестве него. Для простоты мы просто запускаем его как одного и того же пользователя git, который git-shellработает как.
Когда вы перезагружаете компьютер, демон Git запускается автоматически и обновляется, если он опускается. Чтобы запустить его без перезагрузки, вы можете запустить это:
$ initctl start local-git-daemon
В других системах вы можете использовать xinetdсценарий в своей sysvinitсистеме или что-то еще — до тех пор, пока вы получите эту команду, демоннизированную и наблюдаемую как-то.
Затем вы должны сообщить Git, какие репозитории разрешить доступ к серверу без аутентификации Git. Вы можете сделать это в каждом репозитории, создав файл с именем git-daemon-export-ok.
$ cd /path/to/project.git
$ touch git-daemon-export-ok
Наличие этого файла говорит Git, что нормально обслуживать этот проект без проверки подлинности.
Оригинал статьи: https://git-scm.com/book/en/v2/Git-on-the-Server-Git-Daemon
git submodules
git pull --recurse-submodules
— обновить локальные данные
git submodule update --recursive --remote
— обновить коммиты
git submodule update --init --recursive
— инициализация