Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
develop:git [2023/07/07 09:47] admin |
develop:git [2024/09/06 10:50] (текущий) admin |
||
---|---|---|---|
Строка 29: | Строка 29: | ||
# Добавить удаленный репозиторий | # Добавить удаленный репозиторий | ||
git remote add < | git remote add < | ||
+ | # например | ||
+ | git remote add origin git@github.com: | ||
+ | |||
# Отправка проекта | # Отправка проекта | ||
Строка 41: | Строка 44: | ||
git pull [origin] | git pull [origin] | ||
git checkout [master] | git checkout [master] | ||
+ | |||
+ | # Проверка ключа | ||
+ | ssh -T git@github.com | ||
+ | ssh -vT git@github.com | ||
+ | |||
+ | # Авторизация по SSH | ||
+ | После создания пары ключей SSH вам необходимо добавить открытый ключ на GitHub.com, чтобы включить доступ по SSH для вашей учетной записи | ||
+ | В параметрах уч записи в ГХ, добавляем SSH-ключ, | ||
+ | После этого, проверяем авторизацию командой "ssh -T git@github.com" | ||
</ | </ | ||
Строка 76: | Строка 88: | ||
**Rebase** в целом тоже самое что и слияние, | **Rebase** в целом тоже самое что и слияние, | ||
[[https:// | [[https:// | ||
- | |||
<code bash> | <code bash> | ||
git branch [-v] | git branch [-v] | ||
- | |||
# Слитые [не слитые] ветки | # Слитые [не слитые] ветки | ||
git branch --merged [--no-merged] [name] | git branch --merged [--no-merged] [name] | ||
- | + | # Удалить (удалится только слитая ветка, -D для удаления не слитых) | |
- | # Удалить (удалится только слитая ветка) | + | |
git branch -d < | git branch -d < | ||
- | |||
git branch --all | git branch --all | ||
Строка 93: | Строка 101: | ||
git checkout < | git checkout < | ||
git checkout -b < | git checkout -b < | ||
- | |||
# История коммитов | # История коммитов | ||
git log <имя ветки> | git log <имя ветки> | ||
Строка 99: | Строка 106: | ||
</ | </ | ||
</ | </ | ||
- | |||
Строка 120: | Строка 126: | ||
git tag -d < | git tag -d < | ||
</ | </ | ||
- | </ | ||
Строка 132: | Строка 137: | ||
При переходе между ветками, | При переходе между ветками, | ||
+ | </ | ||
Строка 152: | Строка 158: | ||
< | < | ||
- | < | + | < |
<code bash> | <code bash> | ||
- | # Удалить | + | # Теги (полный путь для тегов, который не пересекается с ветками- : |
- | git push origin --delete | + | git push origin |
+ | git push --delete | ||
+ | git tag --delete tagname // удалить локальный тег | ||
+ | # создание тега | ||
+ | ./ | ||
+ | # запушить вроде так долджно быть | ||
+ | ./ | ||
# Удаление тегов | # Удаление тегов | ||
./ | ./ | ||
- | + | ||
+ | # Удалить удаленную ветку | ||
+ | git push origin --delete 1854_norm | ||
+ | ./ | ||
# Удалить локальную ветку | # Удалить локальную ветку | ||
- | ./ | + | git branch --delete -D 1854_norm |
- | ./execute_on_all_repos.sh git branch | + | ./ |
+ | |||
+ | |||
+ | # Генерирует уникальную строку, | ||
+ | # В данном случае для мозговой сборки, | ||
+ | git describe | ||
+ | # Можно задать шаблон для отбора имеющихся тегов, здесь берет мгашный тег, на выходе: | ||
+ | git describe " | ||
+ | # Эта команда фильтрует по маске и возвращает перечень имеющихся тегов | ||
+ | git ls-remote --quiet --tags --refs --sort=-version: | ||
+ | |||
+ | |||
+ | git ls-remote --quiet --tags --refs --sort=-version: | ||
+ | git ls-remote --quiet --tags --refs | grep -oP ' | ||
+ | // автосгенерированный либо релизный тег | ||
+ | git describe | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | |||
+ | < | ||
+ | < | ||
+ | [[https:// | ||
+ | |||
+ | :!: SCM (Source Control Management) | ||
+ | |||
+ | Один из вариантов в проекте ГХ создаем вебхук, | ||
+ | Затем в джобе дженкинса, | ||
+ | |||
+ | |||
+ | В тоже время есть и другие варианты "Build Trigger", | ||
+ | Так, чтобы работать из репы, нужно код пайплайна разместить там и выбрать " | ||
+ | </ | ||
+ | |||
+ | |||
+ | < | ||
+ | < | ||
+ | Работает в т.ч. и как актуализация уже существующего экспорта в GH\\ | ||
+ | [[https:// | ||
+ | [[https:// | ||
+ | |||
+ | <code bash> | ||
+ | # from gitLab | ||
+ | git clone --mirror git@your-gitlab-site.com: | ||
+ | |||
+ | cd repo | ||
+ | # to gitHub | ||
+ | git push --no-verify --mirror git@github.com: | ||
</ | </ | ||
</ | </ | ||
Строка 174: | Строка 236: | ||
</ | </ | ||
</ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
Строка 263: | Строка 329: | ||
$ git merge --allow-unrelated-histories | $ git merge --allow-unrelated-histories | ||
</ | </ | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Применение ===== | ||
+ | < | ||
+ | < | ||
+ | **Сборка с незасабмиченным топиком из геррита**\\ | ||
+ | Переходим в начальную ветку, например мастер, | ||
+ | Находим последний коммит, | ||
+ | Если есть коммиты из другой репы, аналогично, | ||
+ | Создаем ветку, пушим ее\\ | ||
Строка 268: | Строка 345: | ||
+ | < | ||
+ | < | ||
+ | Точнее включение одного репозитория в другой, | ||
+ | <code bash> | ||
+ | # Клонируем тот репозиторий, | ||
+ | git clone https:// | ||
+ | cd first-repo | ||
+ | git remote rm origin # На всякий случай отвязываем репозиторий | ||
+ | |||
+ | # Подготавливаем репозиторий: | ||
+ | mkdir first_repo | ||
+ | git mv $(ls -A | grep -v first_repo | grep -v .git) first_repo/ | ||
+ | git commit -m " | ||
+ | |||
+ | # Клонируем рядом целевой репозиторий | ||
+ | cd .. | ||
+ | git clone https:// | ||
+ | cd main_repo/ | ||
+ | |||
+ | # Подключаем к нему подготовленный первый репозиторий и вытаскиваем его master в отдельную ветку first-repo | ||
+ | git remote add first-repo ../ | ||
+ | git fetch first-repo | ||
+ | git branch first-repo remotes/ | ||
+ | |||
+ | # Мержим ветку в локальный master | ||
+ | git merge first-repo --allow-unrelated-histories | ||
+ | git remote rm first-repo | ||
+ | |||
+ | # Проверяем и пушим | ||
+ | git log | ||
+ | git push | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | < | ||
+ | |||
+ | <code bash> | ||
+ | git remote -v | ||
+ | # View existing remotes | ||
+ | # origin | ||
+ | # origin | ||
+ | |||
+ | git remote set-url origin https:// | ||
+ | # Change the ' | ||
+ | |||
+ | git remote -v | ||
+ | # Verify new remote URL | ||
+ | # origin | ||
+ | # origin | ||
+ | </ | ||
+ | </ | ||
===== ===== | ===== ===== |