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

Команды

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. Добавьте файл в <span style="color: #339933;">.</span>gitignore
  2. git rm <span style="color: #339933;">--</span>cached <span style="color: #339933;">--</span>ignore<span style="color: #339933;">-</span>unmatch application<span style="color: #339933;">.</span>yml - удаляем файл только из репозитория, и физически файл сохранится на диске
  3. git commit <span style="color: #339933;">-</span>am <span style="color: #0000ff;">"Message"</span>
  4. git push origin <span style="color: #009900;">{</span>branch name<span style="color: #009900;">}</span>

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

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

  • Возьмём хеш коммита из команды git <a href="http://www.php.net/log"><span style="color: #990000;">log</span></a>.
  • Перейдём к нужной ветке git checkout master
  • Теперь нужно смерджить текущий коммит (HEAD) с коммитом из «(no branch)» git merge d735ee31656010d25765f395d98cbbdbe5b448e8

Источник 900913.ru

Простой способ узнать, что произошло, git reflogили git <a href="http://www.php.net/log"><span style="color: #990000;">log</span></a> <span style="color: #339933;">-</span>g <span style="color: #339933;">--</span>decorateболее подробный список. Параметр <span style="color: #339933;">--</span>decorateбудет обозначать каждый SHA1 именами всех ветвей, которые указывают на него. Если SHA1 вашей текущей HEAD точно такой же, как у мастера, то вам не нужно ничего делать, кроме git checkout masterкак вернуться на правильный путь. В противном случае см., Если на SHA1 указана другая ветвь. Если нет, вы можете захотеть создать ветку, чтобы она зависала.

Еще одна хорошая команда git branch <span style="color: #339933;">-</span>av, которая аналогичным образом перечислит все ветви и то, на что они указывают, чтобы вы могли видеть, что на <span style="color: #009900;">(</span>no branch<span style="color: #009900;">)</span>самом деле должно быть.

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

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

git clone https<span style="color: #339933;">:</span><span style="color: #666666; font-style: italic;">//nickname@bitbucket.org/nickname/reponame.git . - точка в конце означает, что содержимое репа выгрузится прямо в папку без корневой папки с названием проекта (команда с точкой сработает лишь при условии что папка назначения пуста)</span>

Этот метод по 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 <span style="color: #339933;">-</span>force push на сервер

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

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

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

Связаться с автором Поддержать автора (что?)
Тэги: 

Комментарии

Если у вас есть вопрос, критика или другое мнение - напишите в комментариях.