Работа с Git

Инициализация проекта

git init

Клонирование проекта

git clone <url>

Добавление в индекс новых файлов или измененных файлов

git add *.txt
git add readme.txt

Показ состояния

git status

Показ изменений

git diff

Показ индексированых изменений

git diff --staged
git diff --cached

Фиксация изменений

git commit
git commit -m "<какой-то комментарий>"

Фиксация изменений игнорируя индекс

git commit -a -m "<какой-то комментарий>"

Удалить файл из каталога и отметить как удаленный из репозитария

git rm <filename>
git rm readme.txt

Удаление уже проиндексировнного файла.
Это нужно чтобы вы случайно не удалили измененные файлы командой git rm.

git rm -f readme.txt

Удаление файла из индекса
Удаляет файл из индекса, но оставляет в категории

git rm --cached readme.txt

Просмотр истории коммитов:
Последение 10:

git log -10
git log -p -10
git log --graph -10
git log --pretty=format:"%h - %an, %ar : %s"

Изменение последнего коммита

git commit -m 'initial commit'
git add forgotten_file
git commit --amend

Отмета индексации файла, если вы случайно добавили его в индекс

git reset HEAD readme.txt

Отмена изменений файла. Вернуть в состояние последнего коммита.

git checkout -- readme.txt

Оторбажение удаленных репозитариев

git remote
git remote -v

Добавление удалённых репозиториев

git remote add [сокращение] [url]
git remote add new_rem git://github.com/example/ex.git

Стягивание изменений с удаленного репозитария

git fetch [имя удал. сервера]
git fetch origin
git fetch new_rem

Она автоматически извлекает и затем сливает данные из удалённой ветки в вашу текущую ветку

git pull

Отправка изменений на удаленный репозитарий

git push [удал. сервер] [ветка]
git push origin master

Получение информации об удаленном репозитарии

git remote show

Удаление и переименование удалённых репозиториев

git remote rename pb paul (переименование)
git remote rm paul (удаление)

Просмотр меток

git tag
git tag -l 'v1.4.2.*'

Создание аннотированной метки

git tag -a v1.4 -m 'my version 1.4'

Создание легковесной метки

git tag v1.4-lw

Выставление меток позже

git tag -a [метка] -m [комментарий] [контрольная сумма]
git tag -a v1.2 -m 'version 1.2' 9fceb02

Отправка тегов на удаленный репозитарий

git push origin [имя метки]
git push --tags (если нужно все метки отправить)

Создание новой ветки

git branch [имя ветки]
git branch new_branch

Переключение на определенную ветку

git checkout [имя ветки]
git checkout master

комментарии (0)