GIT Команды

С помощью Git Вы сможете размещать свой код на GitHub, BitBucket.
Тут понадобиться программа Git Bash, это шелл сделанный на основе Cygwin, поэтому возможно использование Unix-команд, вроде cd, ls, mkdir.
Скачать его можно на git-scm

Настройка Git

Перед началом работы, необходимо настроить программу. Нам нужно установить user.name и user.email через командную строку:

git config --global user.name "My Name"
git config --global user.email "My Email"

Текущие данные сохраняются в файле C:\Users\username\.gitconfig

Выводит все команды:

git config

Выводит все настройки из конфига:

git config --list

Справка по работе:

git help commit
git commit --help

Создание Git-репозитория

Инициализируем папку для Git репозитория. Это нужно сделать только один раз для каждого проекта:

cd c:/myproject    // переходим в папку с проектом
git init           // создаём репозиторий

STATUS показывает в каком статусе находится наш репозиторий:

git status

Добавляем файлы в репозиторий (проиндексируем):

git add .
// добавляем все файлы
git add --all
//если не указан конкретный путь в параметре будут применены ко всему дереву, даже если команда была запущена внутри подкаталога
git add index.html
// добавляем файл index.html
git add '*.txt'
// добавляем файл с расширением txt
git add octofamily/octodog.txt


Делаем коммит:

git commit -m "message"

Связываем папку с удаленным репозиторием, предварительно создав его

git remote add origin https://github.com/usernamegithub/test_project.git // после этой команды, система попросит вести логин и пароль

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

git push -u origin master    // в таком виде используем только первый раз, потом используем команду без флагов
git push

Для скачивания репозитория используется команда:

git pull

Получение списка произведенных изменений:

git log
git log --pretty=format:"%h - %an , %ar : %s"   // формат вывода: h[хеш] - an[автор] , ar[когда было сделано изменение] : s[комментарий]
git log --since=2.weeks // посмотреть коммиты за последние 2 недели 

Клонирование репозитория:

git clone https://github.com/user/test_project.git

Ветвление в Git

Показывает в какой ветке сейчас находимся

git branch

Добавляет новую ветку с именем branch-name

git branch branch-name

Переходим в ветку branch-name

git checkout branch-name

Объединение веток

git merge

Удаление ветки в Git

Чтобы удалить ветку в локальной рабочей копии:

git branch -d branch-name

Чтобы удалить ветку в удаленном репозитории:

git push origin --delete branch-name
git push origin :branch-name

Откат изменений

git checkout -- octocat.txt

Удаление файлов

git rm file.name
git rm '*.txt'

Алиасы

git config --global alias.co checkout
git config --global alias.ci commit
git config --global alias.st status
git config --global alias.br branch
git config --global alias.hist "log --pretty=format:'%h %ad | %s%d [%an]' --graph --date=short"
git config --global alias.type 'cat-file -t'
git config --global alias.dump 'cat-file -p'