Git - система контроля версий, которая очень полезна для работы программистов, системных администраторов, графических дизайнеров и т.д. Далее краткая шпаргалка…
Установка
yum install git-all
apt-get install git-core
для Windows можно взять на странице проекта
Общие данные и команды
- Конфигурация хранится в
/etc/gitconfig
.gitconfig
в Windows в директории пользователя файл .gitconfig
- Помощь
1 2 |
|
- Для начала, неплохо было бы задать свои данные:
1 2 3 |
|
Все настройки можно увидеть по команде
git config –list
Начинаем:
- создаём каталог mkdir /PATH/project
- идём в него cd /PATH/project
- создаём хранилище git init
Теперь можно скопировать туда файлы
cp /somewhere/files .
И посмотреть статус всего этого бардака
git status
Файлы, конечно же, не добавлены и не зафиксированы. Для начала, в файл gitignore стоит записать всё, что не нужно будет обрабатывать. Например, временные файлы, конфигурции и т.д. Далее индексируем файлы
git add . (все файлы)
или
git add file (только один, который нужен)
Далее фиксируем (комит) (коментарий записать рекомендуется хотя бы для того, чтобы потом вспомнить, а зачем это вообще было нужно)
git commit -m “комментарий”
Кстати, комент можно сгенерировать. Например:
git commit -m “
date
”
Если нужно изменить комментарий, делаем так:
git commit –amend -m “что-то новенькое”
Посмотреть разницу
git diff
Если комит сделан не был, то смотрим разницу так:
git diff –cached
Удаление файла и удаление его из индекса
rm FILE (это не обязательно, просто он не будет отслеживаться после 2 команды)
git rm FILE
Просмотр истории
git log
git log -5 (просмотр последних 5 комитов)
Просмотр статистики по комитам
git log –stat HASH
Статистика за последние 5 недель
git log –since=5.weeks
Откат последнего коммита:
git reset –hard HEAD~1
или возврат к коммиту:
git reset –hard COMMIT
Работа с удалённым хранилищем
смотрим что у нас вообще подключено
git remote
Там обязательно что-то будет, если перед этим данные откуда-то клонировали:
git clone URL
Подключаем хранилище:
git remote add NAME root@127.0.0.1/home/megahacker/cracker_for_internet
Данные теперь получаем так:
git pull NAME Отправляем так:
git push NAME (после комита разумеется)
Информацию по удалёнке можно посмотреть так:
git remote show
На сервере кроме папки .git ничего нет
GIT_DIR=‘.git’
git stash save –quiet
Как хранить файлы в отдельной директории
для этого просто укажите другую папку в настройках:
git config core.worktree /path/to/directory
Ошибка receive.denyCurrentBranch
Лечится просто
git config receive.denyCurrentBranch ignore
в папке проекта