Quantcast
Viewing all articles
Browse latest Browse all 1318

Git - распределённая система управления версиями. - [Документация]

Git - распределённая система управления версиями.

Инструкции

Инициализация / init

$ git init
$ git config--global user.name "John Doe"
$ git config--global user.email johndoe@example.com

Linux/Unix/Macos

global
$ git config--global core.filemode false
local
$ git config core.filemode false

Windows

global
$ git config--global core.filemode false
$ git config--global core.preloadindex true
$ git config--global core.fscache true
$ git config--global gc.auto 256
$ git config--global status.submoduleSummary false
local
$ git config core.filemode false
$ git config core.preloadindex true
$ git config core.fscache true
$ git config gc.auto 256
$ git config status.submoduleSummary false

Конфигурация

Вывод установленных параметров

$ git config--local-l

Установка параметров

$ git config--local core.filemode true

Актуализация изменений

$ git checkout-- . &&git pull&&git submodule update --init--recursive

Локальное хранилище / stage

  • Добавление в индекс
    • git add <имя_файла>
    • git add *
    • git add .
    • git add -A - Добавить в индекс только удаленные файлы
  • Удаление из индекса
    • git rm <имя_файла>
    • git rm *.php
    • git reset - Отменить индексацию последних изменений
    • git rm --cached <ИМЯ_ФАЙЛА> - Удалить из индекса файл и добавить в игнор. Файл останется в каталоге.
    • git reset HEAD benchmarks.rb - Отменить индексацию файла benchmarks.rb

Локальный репозиторий

    • Фиксация изменений
      • git commit -m "Описание коммита"
      • git checkout <hash-коммита> - Переключиться на определенный коммит
      • git commit --amend - Удаление последнего коммита
    • Восстановление файлов из репозитория
      • git checkout <branch> # Перемещение указателя HEAD на комит или ветку
      • git reset --hard HEAD~n # Перемещение указателя HEAD на комит
      • git checkout -- <имя_файла> - восстановление файла из репозитория
      • git reset --hard origin/master - удалить все локальные изменения и коммиты
      • git reset --hard origin/master
      • git reset --hard HEAD^ # Сбросить все локальные измеения до текущего состояния
    • Перемещение комитов
      • git rebase -i HEAD~n # Позволяет переупорядочивать, менять комменты, выборочно удалять и прочее
    • Ветвление branch
      • git branch bug1Создать ветку bug1
      • git branch -d bug1Удалить ветку bug1
    • Пересадка веток / rebase
      • git rebase master
        1. git checkout master # переключаемся на бранч master
        2. git rebase bug1 # пересаживаем историю изменений ветки bug1 в master
      • или
        1. git checkout bug1
        2. git rebase master
        3. git checkout master
        4. git merge bug1 # При этом произойдет fast-forward merge

Отмена коммитов

До комита
  • git reset --hard HEAD
После комита
  • git reset --hard ORIG_HEAD
Документация

Временное хранилище / Stash

Часто возникает такая ситуация, что пока вы работаете над частью своего проекта, всё находится в беспорядочном состоянии, а вам нужно переключить ветки, чтобы немного поработать над чем-то другим. Подробнее...

Вместо git reset --hard, можно сначала файлы сохранять во временное хранилище, затем применять изменения.

  • git stashПоместить файлы во временное хранилище
  • git stash applyПрименить последнее изменение из стека / лога к текущей рабочей копии
  • git stash dropУдалить последнее изменение в стеке / лога
  • git stash listПоказать все изменения в стеке / логе
  • git stash showПоказать последнее измененеие в стеке / логе (патч)
  • git stash popПрименить последнее изменение из стека к текущей рабочей копии и удалить его из стека
  • git stash clearОчистить стек изменений

Удаленный репозиторий / origin

  • Синхронизация
    • git push origin master
    • git remote add origin <адрес_сервера>

Submodule / Субмодули

  • git submodule add git@github.com:Mirocow/express-chat.git
  • git submodule update –init [express-chat]
  • git submodule update --init --recursive - обновить все зависимые модули (репозитории)
  • git rm -r yii2-mongodb - Удалить сабмодуль yii2-mongodb
  • git rm -r yii2-redactor - Удалить сабмодуль yii2-redactor Image may be NSFW.
    Clik here to view.
    :!:
  • git submodule add -- /to/path/git/dir - Добавить локальный модуль (Необходимо указывать только полный путь до папки) Image may be NSFW.
    Clik here to view.
    :!:

Как вынести код в отдельный репозитоий

Дано:

  • Основной репозиторий app/
  • Необходимый код лежит тут app/vendor/mirocow/yii2-redactor
  • копируем код в отдельную папку и создаем репозитоий путь-до-репозитория/yii2-redactor
  • удаляем если есть уже ранее созданный модуль git rm -rf yii2-redactor
  • обязательно переходим в добавляемую папку app/vendor/mirocow
  • добавляем модуль как отдельный репозитоий из папки git submodule add -f путь-до-репозитория/yii2-redactor/

Отладка

GIT_CURL_VERBOSE

$ GIT_CURL_VERBOSE=1git clone htps://...

GIT_TRACE

Принимает значаения 1, 2 или true

$ GIT_TRACE=2git clone htps://...

Настройка

  • git config color.ui true - использовать цветной вывод в терминале

http://marklodato.github.io/visual-git-guide/index-ru.html?no-svg

Настройка deploy on github

Настройка github для работы с Deploy keys

Ошибки

Ошибка: There is no tracking information for the current branch

При возникновении ошибки вида

$ git pull
There is no tracking information for the current branch.
Please specify which branch you want to rebase against.
See git-pull(1)for details
 
    git pull<remote><branch> 
If you wish to set tracking information for this branch you can do so with:
 
    git branch--set-upstream-to=origin/<branch> master

следует выполнить

$ git pull origin master
$ git branch--set-upstream-to=origin/master master
$ git pull

Видеоуроки

Документация

Сервер

Клиенты

Code Review

Ссылки


Viewing all articles
Browse latest Browse all 1318

Trending Articles


Long Distance Relationship Tagalog Love Quotes


Sapos para colorear


Pamatay na Banat and Mga Patama Love Quotes


5 Tagalog Relationship Rules


INUMAN QUOTES


Re:Mutton Pies (lleechef)


FORECLOSURE OF REAL ESTATE MORTGAGE


Tagalog Quotes About Crush – Tagalog Love Quotes


OFW quotes : Pinoy Tagalog Quotes