Редактирование конфига
При установке git в первую очередь нужно указать имя пользователя и email. Для настройки параметров нужно нажать
ПКМ ⇒ TortoiseGit ⇒ Settings
в разделе Git можно настроить такие параметры как имя, почту, зайти в конфигурационные файлы.
Нужно поменять кодировку на utf-8, для этого нужно зайти в settings ⇒ Git ⇒ Edit glogal .gitconfig и указать encoding = utf-8.
Создать локальный, клонировать удаленный репозиторий
Создание репозитория
ПКМ ⇒ Git create repository here ⇒ Ok.
Для клонирования репозитория перейти в каталог, где будет храниться репозиторий, нажать
ПКМ ⇒ Git clone
Заполнить два обязательных поля:
URL - ссылка на репозиторий
Directory - каталог куда будет скачан репозиторий
Можно так же указать приватный ключ для доступа к репозиторию в поле Load Putty Key.
Кроме того можно клонировать из локального каталога, указав его в строке источника.
Отслеживание (индексация) файлов
Файлы находятся в двух состояниях: отслеживаемые и не отслеживаемые. Отслеживаемые файлы — это те файлы, о которых знает Git.
После редактирования файла git будет его рассматривать как измененный, нужно проиндексировать изменения и зафиксировать (сделать commit).
Посмотреть состояние файлов можно нажав
ПКМ ⇒ TortoiseGit ⇒ Check for modification
или
ПКМ ⇒ TortoiseGit ⇒ Diff
Для того чтобы начать отслеживать новый файл, нужно нажать
ПКМ ⇒ TortoiseGit ⇒ Add и выбрать нужные файлы
или можно не добавлять их таким образом, при этом их можно будет автоматически добавить при коммите.
Коммиты
Для выполнения коммита нужно нажать
ПКМ ⇒ Git Commit, в поле Message написать комментарий.
В нижнем поле будут выведены файлы, которые будут добавлены в коммит, если они небыли индексированы ранее можно отметить их галочками и они добавятся. Затем нужно нажать кнопку Commit.
Чтобы перейти к коммиту нужно зайти в
ПКМ ⇒ TortoiseGit ⇒ Show log
нажать ПКМ по нужному коммиту выбрать Reset to this.
В открывшемся окне, в разделе Reset Type можно выбрать тип перехода:
Soft — файлы и индекс не изменятся, отменится сам коммит
Mixed — файлы не изменятся, отменится индексация
Hard — файлы изменятся таким образом, как они были в коммите на который осуществляется переход
Или зайти зайти в
ПКМ ⇒ TortoiseGit ⇒ Git Switch/Checkout и выбрать Commit.
Для удаления последнего коммита нужно перейти к предыдущему коммиту, выше описано как это сделать, затем нажать ПКМ по нужному коммиту выбрать Revert change by this commit.
История коммитов
История коммитов в виде списка
ПКМ ⇒ TortoiseGit ⇒ Show RefLog
История коммитов с отображением графа
ПКМ ⇒ TortoiseGit ⇒ Show log
Удаление файлов
Выделить нужный файл/файлы/папки затем нажать
ПКМ ⇒ TortoiseGit ⇒ Delete
Отмена действия
Отмена индексации файла и отмена изменений незакоммиченного файла (состояния файла будет как в последнем коммите) осуществляется одинаково
Нужно выбрать файл, нажать ПКМ ⇒ TortoiseGit ⇒ Revert
Ветки
Ветка — это файл, содержащий хэш коммита, на который она указывает. При этом файлы проекта не копируются.
Создание/переключение/слияние
Создание ветки
ПКМ ⇒ TortoiseGit ⇒ Create Branch
Переключение на ветку
ПКМ ⇒ TortoiseGit ⇒ Git Switch/Checkout
Можно выбрать не только ветку, но и коммит
Создание ветки и переход в нее
ПКМ ⇒ TortoiseGit ⇒ Git Switch/Checkout
Поставить галочку Create New Branch, ввести имя ветки
После окончания работы над веткой ее нужно слить с основной, для этого нужно перейти на основную ветку
ПКМ ⇒ TortoiseGit ⇒ Git Switch/Checkout
и сделать merge, при этом указать ветку которую нужно влить
ПКМ ⇒ TortoiseGit ⇒ Merge
Если ветка больше не нужна ее можно удалить зайдя
ПКМ ⇒ TortoiseGit ⇒ Browse references
Если сделать две ветки, работать в одной из них, потом сделать merge в мастер, то в другой ветке этих изменений не будет, если нужно чтоб эти изменения появились в другой ветке, то нужно сделать merge из мастера или из первой ветки
ПКМ ⇒ TortoiseGit ⇒ Git Switch/Checkout
ПКМ ⇒ TortoiseGit ⇒ Merge
Вывод веток
Вывод списка веток
ПКМ ⇒ TortoiseGit ⇒ Browse references
Для отображения всех веток нужно поставить галочку
All Branches внизу окна
Удаление
Все удаления осуществляются в окне
ПКМ ⇒ TortoiseGit ⇒ Browse references
Переименование
Осуществляется в окне
ПКМ ⇒ TortoiseGit ⇒ Browse references
Копирование коммита из одной ветки в другую
Сначала нужно переключится на ветку, в которую нужно перенести коммит
ПКМ ⇒ TortoiseGit ⇒ Git Switch/Checkout
Открыть лог
ПКМ ⇒ TortoiseGit ⇒ Show log
Нажать ПКМ по нужному коммиту, затем Cherry Pick this commit, в открывшемся окне нажать Contune, затем Done
Коммит будет скопирован
Удаленные репозитории
origin - имя по умолчанию для удаленного репозитория.
В настройках в разделе Git ⇒ Remote отображаются подключенные удаленные репозитории, там же можно добавить удаленный репозиторий и его ключ.
Еще можно посмотреть подключенные репозитории в
ПКМ ⇒ TortoiseGit ⇒ Browse references в выпадающем меню remotes
Получение изменений из удаленного репозитория
ПКМ ⇒ TortoiseGit ⇒ fetch связывается с указанным удаленным репозиторием и забирает данные, которых еще нет в локальном репозитории, но не сливает их с локальными данными.
После fetch нужно выполнить слияние
ПКМ ⇒ TortoiseGit ⇒ Merge
ПКМ ⇒ TortoiseGit ⇒ pull забирает данные из удаленного репозитория и сразу сливает их с локальными
Отправка изменений на удаленный репозиторий
Сначала нужно сделать коммит
ПКМ ⇒ Git Commit
и можно отправлять
ПКМ ⇒ TortoiseGit ⇒ push
Если после клонирования удаленного репозитория, в нем были произведены изменения другим человеком, выполнить push не получится, нужно сначала получить изменения через pull или fetch и смержить их с локальным репозиторием. После этого можно будет сделать push.