===========================================
Основные команды сразу после установки Git.
===========================================
1) Получение подсказки по командам Git.
git help
------------------------------------------------------------------------------
2) Получение версии Git.
git --version
===========================================
Работа с Git в локальной папке проекта.
===========================================
1) Создание репозитория в папке проекта.
git init
------------------------------------------------------------------------------
2) Конфируация Git в папке проекта.
git config --local user.name "Dmitry"
git config --local user.email my@mail.ru
Файл с настройками "config" расположен в папке проекта ".git/config".
Его содержимое можно изменять в редакторе вручную.
------------------------------------------------------------------------------
3) Просмотр списка настроек Git в папке проекта.
git config --list
------------------------------------------------------------------------------
4) Создание файла ".gitignore" в папке проекта для игнорировани папкок и файлов, которые не должен видеть Git.
Содержимое файла ".gitignore":
node_modules/
dist/
npm-debug.log
*.log
[._]*.s[a-w][a-z]
src/**/*.js
------------------------------------------------------------------------------
5) Работа с файлами: создание, изменение, удаление файлов.
------------------------------------------------------------------------------
6) Опеределение текущего состояния учета нахождения файлов в локальном репозитории Git.
git status
git status --short
------------------------------------------------------------------------------
7) Добавление файлов перед локальным коммитом.
Добавление всех новых файлов.
git add .
Добавление конкретного файла.
git add file.txt
Добавление списка файлов.
git add *.txt
------------------------------------------------------------------------------
8) Удаление файлов перед локальным коммитом.
git rm file.txt
------------------------------------------------------------------------------
9) Перемещение или переименование файлов перед локальным коммитом.
git mv file1.txt file2.txt
------------------------------------------------------------------------------
10) Отмена внесенных изменений при работе с файлом.
git reset file.txt
------------------------------------------------------------------------------
11) Сброс ВСЕХ изменений файлов до последнего коммита.
git reset --hard HEAD
или
git checkout HEAD
или
git rebase --skip
------------------------------------------------------------------------------
12) Удаление всех лишних файлов из локальной папки, которых нет в репозитории.
git clean --force
------------------------------------------------------------------------------
13) Создание текущего коммита с тэгом.
git tag -a my_tag_name
------------------------------------------------------------------------------
14) Коммит внесенных изменений в локальный репозиторий в папке проекта.
git commit -m "Мой первый коммит файлов."
------------------------------------------------------------------------------
15) Удаление последнего коммита через создание нового коммита, в котором отсутсвтуют текущие изменения.
git revert HEAD
------------------------------------------------------------------------------
16) Просмотр логов о все коммитах в Git.
git log --decorate --graph --all
------------------------------------------------------------------------------
17) Просмотр разницы между файлами в текущей папке и файлами в последнем коммите.
git diff
git diff file1.txt file2.txt
------------------------------------------------------------------------------
18) Создание новой ветки для коммитов
git branch develop/PROJECT-2017
------------------------------------------------------------------------------
19) Просмотр какая из веток для комитов текущая.
git branch
------------------------------------------------------------------------------
20) Переключение в конкретную ветку и обновление всех файлов в локальной папке из неё.
git checkout develop/PROJECT-2017
------------------------------------------------------------------------------
21) Просто обновление всех файлов в локальной папке из текущей ветки.
git checkout
git checkout -- file.txt
------------------------------------------------------------------------------
22) Переливание и слияние файлов в текущую папку из репозитория с учетом порядка всех коммитов.
git merge develop/PROJECT-2017
В случае конфликта вручную исправить код файла, а после этого еще раз добавить его в репозиторий Git.
git add file.txt
После этого сделать новый коммит.
git commit -m "Merged"
------------------------------------------------------------------------------
23) Переливание и слияние файлов в текущую папку из репозитория в единый коммит.
git merge --squash develop/PROJECT-2017
------------------------------------------------------------------------------
24) Перемещение и слияние файлов в текущую папку из репозитория без учета порядка всех коммитов.
git rebase develop/PROJECT-2017
------------------------------------------------------------------------------
25) Запуск своей программы для проведения мерджа вручную.
git mergetool
------------------------------------------------------------------------------
26) Пометка файла с разрешенным конфликтом.
git add my-resolved-file.txt
git rm my-resolved-file.txt
===========================================
Работа с удаленным Git.
===========================================
1) Просмотр списка известных репозиториев.
git remote -v
------------------------------------------------------------------------------
2) Добавление удаленного репозитория в список известных репозиториев.
git remote add mygithub http://username@site.com/repo.git
------------------------------------------------------------------------------
3) Копирование содержимого удаленного репозитория в папку проекта.
git clone http://username@site.com/repo.git
------------------------------------------------------------------------------
4) Получение списка всех последних изменений в удаленном репозитории Git.
git fetch mygithub
------------------------------------------------------------------------------
5) Выкачка ревизии из удаленного репозитория в папку проекта.
git pull mygithub develop/PROJECT-2017
------------------------------------------------------------------------------
6) Закачка коммита из локального репозитория в удаленный репозиторий.
git push mygithub develop/PROJECT-2017