Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
develop:git [2023/05/04 02:57] admin |
develop:git [2024/09/06 10:50] (текущий) admin |
||
---|---|---|---|
Строка 17: | Строка 17: | ||
* linux - "**git config --global credential.helper store**" | * linux - "**git config --global credential.helper store**" | ||
Минус в том что хранится в открытом виде, есть варианты **store/ | Минус в том что хранится в открытом виде, есть варианты **store/ | ||
+ | |||
+ | # Установка\\ | ||
+ | apt git install\\ | ||
</ | </ | ||
<code bash> | <code bash> | ||
- | # Установка | ||
- | apt git install | ||
- | |||
# Инициализация проекта | # Инициализация проекта | ||
cd /' | cd /' | ||
Строка 29: | Строка 29: | ||
# Добавить удаленный репозиторий | # Добавить удаленный репозиторий | ||
git remote add < | git remote add < | ||
+ | # например | ||
+ | git remote add origin git@github.com: | ||
+ | |||
# Отправка проекта | # Отправка проекта | ||
Строка 39: | Строка 42: | ||
# Скачивание | # Скачивание | ||
- | git checkout [master] | ||
git pull [origin] | git pull [origin] | ||
- | | + | git checkout [master] |
- | git branch | + | |
+ | | ||
+ | ssh -T git@github.com | ||
+ | ssh -vT git@github.com | ||
+ | |||
+ | # Авторизация по SSH | ||
+ | После создания пары ключей SSH вам | ||
+ | В параметрах | ||
+ | После этого, проверяем авторизацию командой " | ||
</ | </ | ||
Строка 78: | Строка 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 | ||
Строка 95: | Строка 101: | ||
git checkout < | git checkout < | ||
git checkout -b < | git checkout -b < | ||
- | |||
# История коммитов | # История коммитов | ||
git log <имя ветки> | git log <имя ветки> | ||
Строка 101: | Строка 106: | ||
</ | </ | ||
</ | </ | ||
- | |||
Строка 122: | Строка 126: | ||
git tag -d < | git tag -d < | ||
</ | </ | ||
- | </ | ||
Строка 134: | Строка 137: | ||
При переходе между ветками, | При переходе между ветками, | ||
+ | </ | ||
Строка 150: | Строка 154: | ||
directory = * | directory = * | ||
</ | </ | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | <code bash> | ||
+ | # Теги (полный путь для тегов, который не пересекается с ветками- : | ||
+ | git push origin :tagname | ||
+ | git push --delete origin tagname | ||
+ | git tag --delete tagname // удалить локальный тег | ||
+ | |||
+ | # создание тега | ||
+ | ./ | ||
+ | # запушить вроде так долджно быть | ||
+ | ./ | ||
+ | # Удаление тегов | ||
+ | ./ | ||
+ | |||
+ | # Удалить удаленную ветку | ||
+ | git push origin --delete 1854_norm | ||
+ | ./ | ||
+ | # Удалить локальную ветку | ||
+ | git branch --delete -D 1854_norm | ||
+ | ./ | ||
+ | |||
+ | |||
+ | # Генерирует уникальную строку, | ||
+ | # В данном случае для мозговой сборки, | ||
+ | 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 --match=[0-9]* --abbrev=8 | tr -s ' | ||
+ | </ | ||
</ | </ | ||
+ | |||
+ | < | ||
+ | < | ||
+ | [[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: | ||
+ | </ | ||
+ | </ | ||
Строка 163: | Строка 236: | ||
</ | </ | ||
</ | </ | ||
+ | |||
+ | |||
+ | |||
Строка 253: | Строка 329: | ||
$ git merge --allow-unrelated-histories | $ git merge --allow-unrelated-histories | ||
</ | </ | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Применение ===== | ||
+ | < | ||
+ | < | ||
+ | **Сборка с незасабмиченным топиком из геррита**\\ | ||
+ | Переходим в начальную ветку, например мастер, | ||
+ | Находим последний коммит, | ||
+ | Если есть коммиты из другой репы, аналогично, | ||
+ | Создаем ветку, пушим ее\\ | ||
Строка 258: | Строка 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 | ||
+ | </ | ||
+ | </ | ||
===== ===== | ===== ===== |