GIT — различия между версиями
Root (обсуждение | вклад) |
Root (обсуждение | вклад) |
||
Строка 22: | Строка 22: | ||
# git branch -d <имя_ветки> | # git branch -d <имя_ветки> | ||
− | Переименование | + | Переименование ветки |
# git branch -m new-name-branch | # git branch -m new-name-branch | ||
− | Если в | + | Если в репозитории есть другие ветки, их можно увидеть так(активная ветка обозначена звёздочкой) |
# git branch -a | # git branch -a | ||
* master | * master | ||
Строка 51: | Строка 51: | ||
'''git clone'''<br/> | '''git clone'''<br/> | ||
− | Создание копии (удаленного) | + | Создание копии (удаленного) репозитория |
− | Клонировать | + | Клонировать репозиторий с той же машины в директорию myrepo |
# git clone /home/username/project /myrepo | # git clone /home/username/project /myrepo | ||
− | Клонируем | + | Клонируем репозиторий через протокол git |
# git clone git@gihub.com:/repo-name.git /myrepo | # git clone git@gihub.com:/repo-name.git /myrepo | ||
− | Клонируем | + | Клонируем репозиторий через ssh |
# git clone ssh://git@github.com/repo-name /myrepo | # git clone ssh://git@github.com/repo-name /myrepo | ||
− | Клонируем | + | Клонируем репозиторий через https |
# git clone https://github.com/repo-name /myrepo | # git clone https://github.com/repo-name /myrepo | ||
Строка 78: | Строка 78: | ||
'''git init'''<br/> | '''git init'''<br/> | ||
− | Создание | + | Создание репозитория |
− | Команда git init создает в директории пустой | + | Команда git init создает в директории пустой репозиторий в виде директории .git, где и будет в дальнейшем храниться вся информация об истории коммитов, тегах, ходе разработки проекта |
# mkdir project-dir | # mkdir project-dir | ||
# cd project-dir | # cd project-dir | ||
Строка 89: | Строка 89: | ||
'''git log'''<br/> | '''git log'''<br/> | ||
− | Служит для просмотра изменений | + | Служит для просмотра изменений репозитория. По умолчанию, без аргументов, git log выводит список коммитов созданных в данном репозитории в обратном хронологическом порядке (самые последние коммиты показываются первыми |
Подробная информация в виде патчей по файлам из коммитов | Подробная информация в виде патчей по файлам из коммитов | ||
Строка 129: | Строка 129: | ||
'''git pull''' | '''git pull''' | ||
− | Синхронизация текущей ветки с | + | Синхронизация текущей ветки с репозиторием |
− | Забрать изменения из | + | Забрать изменения из репозитория и слить с активной веткой |
# git pull | # git pull | ||
− | Забрать изменения из определенного | + | Забрать изменения из определенного репозитория |
# git pull project | # git pull project | ||
Строка 141: | Строка 141: | ||
'''git push''' | '''git push''' | ||
− | Внесение изменений в удаленный | + | Внесение изменений в удаленный репозиторий |
Строка 147: | Строка 147: | ||
# git push | # git push | ||
− | Отправить изменения из ветки master в ветку experimental удаленного | + | Отправить изменения из ветки master в ветку experimental удаленного репозитория |
# git push ssh://github.com/project.git master:experimental | # git push ssh://github.com/project.git master:experimental | ||
− | В удаленном | + | В удаленном репозитории origin удалить ветку experimental |
# git push origin :experimental | # git push origin :experimental | ||
− | Отправить изменения в удаленную ветку master | + | Отправить изменения в удаленную ветку master репозитория origin(синоним репозитория по умолчанию) из локальной ветки master |
# git push origin master:master | # git push origin master:master | ||
Строка 159: | Строка 159: | ||
'''git remote''' | '''git remote''' | ||
− | Имя удаленного | + | Имя удаленного репозитория |
# git remote | # git remote | ||
origin | origin | ||
− | Информация о удаленном | + | Информация о удаленном репозитории |
# git remote show origin | # git remote show origin | ||
Версия 14:36, 8 октября 2020
git add
Добавляет содержимое рабочей директории в индекс (staging area) для последующего коммита
Внести в индекс - временное хранилище - изменения, которые затем войдут в коммит(без точки - из всей рабочей области, с точкой — только текущий путь)
# git add .
Внести в индекс - временное хранилище - изменения, которые затем войдут в коммит, включая новые файлы(без точки - из всей рабочей области, с точкой — только текущий путь)
# git add -A .
git branch
Создание, перечисление и удаление веток
Добавить новую ветку
# git branch <имя_ветки>
Удалить ветку
# git branch -d <имя_ветки>
Переименование ветки
# git branch -m new-name-branch
Если в репозитории есть другие ветки, их можно увидеть так(активная ветка обозначена звёздочкой)
# git branch -a * master remotes/origin/HEAD -> origin/master remotes/origin/Stamps_zebra remotes/origin/master remotes/origin/standart_xlsx
git checkout
Переключение между ветками, извлечение отдельных файлов из истории коммитов
Переключиться в ветку
# git checkout some-other-branch
Создать ветку и переключиться в неё
# git checkout -b some-other-new-branch
Вернуть файл из коммита
# git checkout HEAD files/default/backup-data-cargo.sh
git clone
Создание копии (удаленного) репозитория
Клонировать репозиторий с той же машины в директорию myrepo
# git clone /home/username/project /myrepo
Клонируем репозиторий через протокол git
# git clone git@gihub.com:/repo-name.git /myrepo
Клонируем репозиторий через ssh
# git clone ssh://git@github.com/repo-name /myrepo
Клонируем репозиторий через https
# git clone https://github.com/repo-name /myrepo
git commit
Берёт все данные, добавленные в индекс с помощью git add, и сохраняет их слепок во внутренней базе данных, а затем сдвигает указатель текущей ветки на этот слепок
Выполняет коммит
# git commit -m "комментарий"
git init
Создание репозитория
Команда git init создает в директории пустой репозиторий в виде директории .git, где и будет в дальнейшем храниться вся информация об истории коммитов, тегах, ходе разработки проекта
# mkdir project-dir # cd project-dir # git init
git log
Служит для просмотра изменений репозитория. По умолчанию, без аргументов, git log выводит список коммитов созданных в данном репозитории в обратном хронологическом порядке (самые последние коммиты показываются первыми
Подробная информация в виде патчей по файлам из коммитов
# git log -p diff --git a/files/default/backup-data-zappstore-eu.sh b/files/default/backup-data-zappstore-eu.sh new file mode 100755 index 0000000..0b6cd3b --- /dev/null +++ b/files/default/backup-data-zappstore-eu.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +DIR='/srv/www/zappstore/data/' +USER='deployer' +DS='172.16.2.41' +BACKUP_DIR='/var/lib/vz/storagebox2'
Вывод под каждым коммитом списка измененных файлов, количество измененных файлов, количество добавленных и удаленных строк в этих файлах и ниже краткую статистику по каждому коммиту
# git log --stat commit b5a1eff79966358fbb7e0affbb7974b26d9deb63 Author: Evgeny Onopriyko <finston1978@gmail.com> Date: Fri Jun 10 13:05:10 2016 +0300 update files/default/backup-data-zappstore-eu.sh | 9 +++++++++ files/default/backup-data-zappstore-us.sh | 9 +++++++++ files/default/backup-data-zapsptore.sh | 9 --------- metadata.rb | 2 +- recipes/cargo.rb | 2 +- recipes/zappstore.rb | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------ 6 files changed, 80 insertions(+), 35 deletions(-)
Вывод данных о каждом коммите в одну строку
# git log --pretty=oneline f3f7a446f58a245f5426fbf71790540148313e3f update 6df3a30e775995d311f30b3cc74a2ad2b59a6267 Update zappstore.rb 19c78b5a0b599ab2fb78c0e5b0b3ea812636536e Update default.rb
git pull
Синхронизация текущей ветки с репозиторием
Забрать изменения из репозитория и слить с активной веткой
# git pull
Забрать изменения из определенного репозитория
# git pull project
git push
Внесение изменений в удаленный репозиторий
Отправить изменения в удаленную ветку, созданную при клонировании по умолчанию
# git push
Отправить изменения из ветки master в ветку experimental удаленного репозитория
# git push ssh://github.com/project.git master:experimental
В удаленном репозитории origin удалить ветку experimental
# git push origin :experimental
Отправить изменения в удаленную ветку master репозитория origin(синоним репозитория по умолчанию) из локальной ветки master
# git push origin master:master
git remote
Имя удаленного репозитория
# git remote origin
Информация о удаленном репозитории
# git remote show origin
Изменить origin url удалённого репозитория
# git remote set-url origin git@gitlab.ru:SIP/Back.git
Последние коммиты текущей ветки
# git show commit b5a1eff79966358fbb7e0affbb7974b26d9deb63 Author: Evgeny Onopriyko <finston1978@gmail.com> Date: Fri Jun 10 13:05:10 2016 +0300 update diff --git a/files/default/backup-data-zappstore-eu.sh b/files/default/backup-data-zappstore-eu.sh new file mode 100755 index 0000000..0b6cd3b --- /dev/null +++ b/files/default/backup-data-zappstore-eu.sh @@ -0,0 +1,9 @@ +#!/bin/bash
Текущее состояние индекса. Можно увидеть какие будут произведены изменения при применении commit. Также покажет файлы с неразрешенными конфликтами слияния и файлы, игнорируемые git
# git status На ветке master Ваша ветка обновлена в соответствии с «origin/master». нечего коммитить, нет изменений в рабочем каталоге