Команды
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=15co = 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 репозитория
- Добавьте файл в
<span style="color: #339933;">.</span>gitignore
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
- удаляем файл только из репозитория, и физически файл сохранится на дискеgit commit <span style="color: #339933;">-</span>am <span style="color: #0000ff;">"Message"</span>
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 как удалить"
git reset <commit> --hard до коммита без файлов
git push <span style="color: #339933;">-</span>f
force push на сервер
Переименовать коммит
git commit --amend -m "Новое название коммита"
http://paratapok.ru/developer-tools/3578_kak-v-git-izmenit-kommentarij-k-kommitu/