Команды Алиасы и другие Практические заметки по GIT

    Опубликовано Andres - ср, 11/14/2018 - 16:45

    Команды

    git reset --hard <key commit> - жесткое восстановление файлов

    git checkout <key commit> sites/all/themes/ - восстановление к коммиту только в одной директории (путь относительно директории репозитория, но без слэша в начале)

    git checkout <key commit> sites/all/themes/readme.txt - восстановление к коммиту только одного файла (путь относительно директории репозитория, но без слэша в начале)

    git branch - выводит все ветви и отмечает * (звёздочкой) текущую

    git pull - обновить у себя в локальном

    git push - залить изменения на удаленный git-репозиторий

     

    Алиасы

    Моя конфигурация Алиасов. Прописывается в файле .gitconfig, например в самом начале файла, перед всем, что там написано.

    Если такого файла нет, произведите Настройку командами из следующего пункта "Настройка (конфигурирование)" (установите имя пользователя и его почту) после этого файл .gitconfig появится.

    [alias]
        hist = log --pretty=format:\"%Cred%h %C(white)| %cD | %C(cyan)%s%d\" --graph --date=short --max-count=15

        co = checkout
        ci = commit -a -m
        st = status
        br = branch
        hist = log --pretty=format:\"%h %ad | %s%d [%an]\" --graph --date=short
        type = cat-file -t
        dump = cat-file -p
        s = push
        r = pull

    Источник и другая инфа по алиасам: https://githowto.com/ru/aliases

    Настройка (конфигурирование)

    git config --global user.name "Username"

    git config --global user.email username@mail.ru

    Ещё информация по конфигурированию.

    Создания репозитория (поселить Git в директорию проекта)

    Перейти в корневую директорию проекта cd ~/truewebstories/public_html

    git init

    git add .

    Инструкции по работе с Bitbucket

    http://s-engineer.ru/pamyatka-po-rabote-s-git-bitbucket/#a

    Как удалить файл из индекса GIT репозитория

    1. Добавьте файл в .gitignore
    2. git rm --cached --ignore-unmatch application.yml - удаляем файл только из репозитория, и физически файл сохранится на диске
    3. git commit -am "Message"
    4. git push origin {branch name}

    Источник ru.stackoverflow.com.

    Что делать если git branch - * (no branch)

    • Возьмём хеш коммита из команды git log.
    • Перейдём к нужной ветке git checkout master
    • Теперь нужно смерджить текущий коммит (HEAD) с коммитом из «(no branch)» git merge d735ee31656010d25765f395d98cbbdbe5b448e8

    Источник 900913.ru

    Простой способ узнать, что произошло, git reflogили git log -g --decorateболее подробный список. Параметр --decorateбудет обозначать каждый SHA1 именами всех ветвей, которые указывают на него. Если SHA1 вашей текущей HEAD точно такой же, как у мастера, то вам не нужно ничего делать, кроме git checkout masterкак вернуться на правильный путь. В противном случае см., Если на SHA1 указана другая ветвь. Если нет, вы можете захотеть создать ветку, чтобы она зависала.

    Еще одна хорошая команда git branch -av, которая аналогичным образом перечислит все ветви и то, на что они указывают, чтобы вы могли видеть, что на (no branch)самом деле должно быть.

    Источник ru.stackoverflow.com.

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

    git clone https://nickname@bitbucket.org/nickname/reponame.git . - точка в конце означает, что содержимое репа выгрузится прямо в папку без корневой папки с названием проекта (команда с точкой сработает лишь при условии что папка назначения пуста)

    Этот метод по https - плох тем что при каждом действии нужно вводить пароль. Есть возможность настроить SSH соединение, тогда пароль не понадобится.

    https://jeka.by/post/1051/setup-ssh-keys-for-bitbucket-github/

    Выгрузить с локального сервера в удалённый репо

    git remote add origin git@bitbucket.org:nickname/reponame.git

    git push -u origin master

    Команды для настройки соединений с удалёнными репо

    git remote -v - показывает список настроенных соединений с удалённым репо

    git remote rm <name> - удаляет все настроенные соединения с репо

    В чем разница между Fetch и Pull

    https://webhamster.ru/mytetrashare/index/mtb0/143575842521lohpnj4q

    Что делать если допустил то что в git попали медиафайлы (например картинки) как удалить коммит?

    "случайно закомитил изображения git как удалить"

    https://toster.ru/q/334366

    git reset <commit> --hard до коммита без файлов

    git push -force push на сервер

    Переименовать коммит

    git commit --amend -m "Новое название коммита"

    http://paratapok.ru/developer-tools/3578_kak-v-git-izmenit-kommentarij-k-kommitu/

    Теги