Git Product home page Git Product logo

pamyatka's Introduction

title author fontsize geometry paper lang template
Памятка по командам Git
А.В. Родионов
14pt
margin=2cm
a4
russian
default.html

Начальные установки

Выполняются один раз для рабочего места, сохраняются в файле конфигурации данного пользователя.

  • git config --global user.name "Имя пользователя" --- задание имени пользователя для последующего фиксирования в коммитах
  • git config --global user.email адрес@почты --- адрес электронной почты
  • git config --global core.editor путь-к-исполняемому-файлу --- выбор программы текстового редактора для ввода сообщений

Сокращенные команды

Для удобства работы в командной строке можно сократить общеупотребительные команды до нескольких первых букв. Для этого нужно выполнить следующие команды:

  • 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 co будет соответствовать git checkout, git ci --- git commit, и т.д.

Подготовка к работе

  • git init --- инициализация пустого репозитория в папке

Просмотр изменений

  • git status --- просмотр состояния изменений
  • git log --- история изменений данной ветки
  • git diff --- сравнение изменений по отношению к текущей ветке
  • git diff имя-ветки --- сравнение изменений по отношению к заданной ветке
  • git diff HEAD~2 --- сравнение изменений по отношению 2, 3 и т.д. коммиту от текущего
  • git diff хэш1 хэш2 --- сравнение двух коммитов между собой

Внесение изменений в репозиторий

  • git add . --- индексация изменений в текущей директории
  • git add имя-директории --- проиндексировать изменения в заданной папке
  • git add имя-файла --- проиндексировать изменения в одном файле
  • git add имя-папки-или-файла --all --- проиндексировать все изменения, включая удаления и переименования файлов
  • git commit --- сохранение (коммит) изменений с вызовом редактора для ввода сообщения
  • git commit -a -m 'текст сообщения' --- индексация всех изменений в текущей ветке вместе с сохранением и вводом сообщения
  • git mv имя-файла новое-имя --- переименовать файл в проекте
  • git rm имя-файла --- удалить файл
  • git rm -r имя-директории --- удалить директорию и ее содержимое
  • ключ -f при удалении заставляет игнорировать изменения в файлах.

Управление веткой

  • git checkout хэш-коммита --- перенос ветки в заданное хэшем положение и загрузка версии текущих файлов из этого коммита. Переводит ветку в "безголовое" состояние.
  • git checkout имя-ветки --- выбор существующей ветки и сброс рабочих файлов в состояние ее вершины.
  • git checkout -b имя-ветки --- отвод новой ветки с заданным именем от текущего положения в ветке. Позволяет после возвращения к изменению, найденному с помощью команды git log, продолжить развивать его в новой ветке.
  • git branch -a --- отобразить все ветки
  • git branch -D имя-ветки --- удалить ветку в текущей копии репозитории
  • git merge имя-ветки --- слить изменения из другой ветки в текущую
  • git tag метка --- пометка текущего коммита удобной для запоминания меткой, например "2.0". Команды, ожидающие идентификатор коммита, такие как checkout, reset и revert могут получать метку вместо хэша коммита.
  • git tag -d метка --- удаление заданной метки

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

  • git reset --- отмена действия команд git add до последнего коммита изменений. Изменения и удаление файлов сохраняются
  • git reset --hard --- сброс изменений в файлах текущей ветки до последнего коммита. Изменения и удаления файлов возвращаются до состояния предыдущего коммита.
  • git reset хэш-коммита --- перенос ветки в заданное место по коду хеша. Ветка будет переведена в "безголовое" состояние, для дальнейшей работы потребуется создать новую ветку. Текущие файлы при этом не сбрасываются.
  • git revert имя-коммита ---отмена изменений в текущей ветке до состояния заданного коммита. При этом будет создан в свою очередь коммит, который нужно будет отметить сообщением в логе. Чтобы избежать открытия редактора, можно добавить флаг --no-edit.
  • git revert имя-или-диапазон-коммитов -n --- внесение изменений, отменяющих заданные коммиты без создания коммита. При этом текущее дерево файлов редактируется, как будто это сделал сам пользователь.

Работа с удаленными репозиториями

  • git clone наименование [email protected]:логин/проект.git --- загрузка проекта из удаленного репозитория.
  • git remote add наименование [email protected]:логин/проект.git --- добавление ссылки на удаленный репозиторий. Наименование задает его короткое имя, для основного репозитория обычно выбирается имя 'origin'.
  • git pull --- скачать новые изменения
  • git push --- сохранений коммитов текущей ветки в удаленный репозиторий
  • git push --all --- сохранение всех веток, в том числе новых, в удаленный
  • git push -u origin --all --- сохранение всех веток с одновременной их привязкой к удаленному репозиторию. Выполняется если существующий проект впервые сохраняется в новый репозиторий.
  • git branch -u ветка --- привязка ветки к удаленному репозиторию

pamyatka's People

Contributors

andviro avatar

Watchers

James Cloos avatar Semenchenko Elena avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.