Переход в директорию, где нужно создать репозиторий:
$ cd имя-директории
Создание репозитория:
$ git init
Узнать больше о Markdown можно тут.
Пример Markdown-разметки:
# My beloved repo
Here I write how much I love markdown.
It's awesome because reasons:
- It's cool
- It has lists
- *It also has italic*
- **And bold**
- `And nice monospace font`
Результат:
Here I write how much I love markdown. It's awesome because reasons:
- It's cool
- It has lists
- It also has italic
- And bold
And nice monospace font
Текущий статус файлов в репозитории:
$ git status
Добавление файла в индекс:
$ git add <filename>
Запись совершённых изменений:
$ git commit -m "<message>"
Принято писать глаголы в сообщениях к коммитам в повелительном наклонении (например: "Add new feature").
Добавление в коммит изменений во всех файлах, уже добавленных в индекс:
git commit -am "<message>"
Пример .gitignore
-файла:
# удалим все исполняемые файлы
*.exe
# удалим все файлы и папки с именем bin
bin
# удалим конкретный файл с секретными сведениями
\data\secret_key.txt
Гит не будет отображать изменение или создание таких файлов и не будет сохранять изменения в них.
Просмотр истории коммитов:
$ git log
Просмотр последних трёх коммитов из истории:
git log -3
Отмена последнего коммита:
$ git revert HEAD
Если необходимо удалить не последний коммит, вместо HEAD необходимо написать хэш-код нужного коммита (длинная последовательность шестнадцатеричных чисел, подсвеченная в логе жёлтым).
Создание новой ветки:
git branch <branch-name>
Переключение на ветку:
git checkout <branch-name>
Два прошлых действия одновременно:
git checkout -b <branch-name>
Слияние ветки <branch-name>
с текущей:
git merge <branch-name>
Удаление ветки:
git branch -d <branch-name>
git reset --hard HEAD~1
Количество удаляемых коммитов указывается после знака ~
$ git remote origin <адрес репозитория>
.
Локально этому удалённому репозиторию присваивается имя origin
, по которому к нему можно обращаться.
Публикация репозитория с сопоставлением локальной и удалённой веток master
:
git push --set-upstream origin master
Опубликовать изменения в удалённом репозитории когда необходимые сопоставления веток уже совершены:
git push
$ git clone <ссылка на репозиторий>
Всё содержимое репозитория будет скопировано в директорию с его именем. У локальной копии уже будет привязка к remote
.
Если при попытке мёрджа возник конфликт, гит сообщит об этом, перечислит список файлов, содержащих конфликты, и потребует разрешить их вручную. Открыв такой файл мы увидим следующий текст:
<<<<<<< HEAD
<конфликтующий код из текущей ветки>
=======
<конфликтующий код из ветки для мёрджа>
>>>>>>> <ветка, которую мёрджили>
Всю это конструкцию надо заменить кодом, который должен по вашему мнению оказаться в ветке на месте конфликта. Когда вы разрешите конфликты, проверьте статус, добавьте изменённый файл, сделайте коммит. Пока вы не сделали коммит, можно выполнить $ git merge --abort
, чтобы отменить слияние.