• Основные команды Git

    РазноеКомментариев нет

    Список команд:

    workspase -> stage(local index)

    git init — создание репозитория

    git status — проверяет текущее состояние репозитория

    git add filename.html — добавляет файл по версионный контроль(в stage(local index), на сцену)

    git checkout filename.html — откат к последней добавленной версии файла(git add)

    git diff — показывает есть ли различия в файлах в рабочем каталоге(workspase) и на сцене(stage(local index)) если не было коммитов, если были, то показывает различия между рабочей версией и local repository(зафиксированной с помощью commit -m)

    git diff —cached — покажет изменения(отличия) в вашей рабочей директории(workspase) которые еще не были добавлены в индекс(stage(local index)) для последующего коммита

    git diff HEAD — покажет изменения(отличия) в рабочей директории(workspase) от последнего коммита(stage(local index))

    git diff customBranch — сравнивает текущие файлы в рабочей директории workspase с файлами в ветке customBranch и показывает различия

    git diff HEAD~2 HEAD — сравнивает 2 версии

     

    stage(local index) -> local repository

    git commit -m «Комментарий» — фиксирует добавленные на сцену файлы(git add) в local repository. -m означает комментарий.

    git commit -a -m «Комментария» — выполняются 2 команды: git add . + git commit -m «»

    git show — просмотр содержимого коммита($ git show 1c002dd4b536e7479fe34593e72e6c6c1819e53b)

    git checkout HEAD — показывает какие файлы изменены(отличаются в workspase и последней версии local repository)

    git checkout HEAD filename.html — откат к последней зафиксированной(git commit) версии конкретного файла(файл обновится в workspase и stage(local index)).

    git rm filename.html —cached — удаляем файл из под контроля версий. Но оставляем в workspase

    git rm filename.html -f — удаляем файл из под контроля версий. А так же удалим из workspase

     

    Ветки

    git branch — выводит все ветки

    git branch -va — выводит все ветки с коммитами + удаленный ветки

    git branch newBranch — создаем новую ветку

    git branch -d oldBranch — удаляет ветку

    git branch -D branch_name — удаляет ветку —force

    git branch -f master HEAD~3 — переносим текущую ветку к ветки HEAD на позицию — 3 комета

    git checkout -b newBranch  — создаем новую ветку и сразу переходим на нее

    git checkout newBranch — переключаемся на ветку newBranch

    git merge customBranch — совмещаем изменения  customBranch с текущей(в которой находимся) веткой

    git log — показывает последние коммиты

    git log —oneline — каждый кормит выводит в одну строку(удобно)

    git log —oneline —graph —decorate —all — оформление для git log

     

    Решение конфликтов

    git merge —abort — отменить слияние

    1.Исправить конфликт вручную

    2. git add

    3. git commit -m

     

    Исправление ошибок

    git revert — делает новый коммит без изменений, затем нужен push(для удаленного хранилища)

    git reset — Возвращает HEAD на комит назад(для локального репозитория)

    git reset —hard commitHash — Возвращает состаяние файлов на версию коммита commitHash

    git reset —soft commitHash — Возвращает HEAD на версию коммита commitHash, но сами файлы не меняются.

    git cherry-pick <Commit1> <Commit2> <…> — копировать несколько коммитов на место, где сейчас находишься (HEAD)

    git rebase — соединяет коммиты в одну ветку, подробнее: http://uleming.github.io/gitbook/4_Ребазирование.html

    git fetch —all && git reset —hard origin/master — принять из удаленной ветки и перезаписать локальные файлы на удаленные(из удаленной ветки)

     

    .gitignore — указываем какие файлы нужно игнорировать

    echo *.env > .gitignore — создадим файл .gitignore

     

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

    git blame <file> — позволяет увидеть кто редактировал и какую строку в файле

    git remote — просмотр списка настроенных(добавленных) удаленных репозиторием

    git remote add origin git@github.com:User/UserRepo.git — добавление удаленного репозитория

    git fetch — скачивает данные с удаленного репозитория но не сливает

    git pull —rebas — скачивает данные с удаленного репозитория и применяет rebase

    git checkout -b new-feature-branch origin/new-feature-branch — получаем в новую ветку, ветку из удаленного репозитория(как там, без наших изменений)

     

    Дополнительно

    git tag -a 1.0.0 — добавить файл версий

    git push —tags — заливаем теги в проект

    SSH

    ssh-keygen -t rsa -C «you@mail.com» — генерируем ключ ssh(это не гид команда)

    Proxy

    git config —global http.proxy http://proxyuser:proxypwd@proxy.server.com:8080 — пропишем в настройках git прокси сервер

    git config —global —unset http.proxy — удалим прокси сервер из настроек git

    git config —global —get http.proxy — просмотрим текущий прокси сервер в настройках git

    Бесплатные прокси: https://www.ip-adress.com/proxy-list

     

     

    Полезные ссылки:

    Git: наглядная справка

    The Git Community Book

     


    Комментарии закрыты!