5 заметок с тегом

how to

error: Unable to append to .git/logs/refs/heads/xxx: Permission denied

Проблема возникаем, когда владельцем папок и файлов в корневой директории сайта является не тот пользователь, с помощью которого вы подключаетесь по ssh. В этом случае git будет ругаться примерно следующим образом:

error: Unable to append to .git/logs/refs/heads/bugfix: Permission denied
fatal: Cannot update the ref 'HEAD'.

Это решается командой chown, которая изменяет владельца для всех файлов и папок.

sudo chown -R userID:groupID /path/to/www/dir/

Где userID и groupID — идентификационный номер пользователя и идентификационный номер основной группы пользователя соответственно.

Для просмотра списка пользователей и групп, существующих в системе, достаточно в командной строке ввести:

cat /etc/passwd

Строки в этом файле имеют следующий формат:

account:password:userID:groupID:GID:GECOS:directory:shell

где:

account — имя пользователя
password — зашифрованный пароль пользователя
userID  — идентификационный номер пользователя
groupID — идентификационный номер основной группы пользователя
GECOS — необязательное поле, используемое для указания дополнительной информации о пользователе (например, полное имя пользователя)
directory — домашний каталог ($HOME) пользователя
shell — командный интерпретатор пользователя (обычно /bin/sh)
22 мая   git   how to   ssh

Laravel + Яндекс.Почта

Для подключения отправки почтовых сообщений в Laravel, используя Яндекс Почту или Яндекс ПДД, в .env нужно прописать следующий код:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.yandex.ru
MAIL_PORT=587
MAIL_FROM_ADDRESS=адрес отправителя
MAIL_FROM_NAME=имя отправителя
MAIL_USERNAME=пользователь*
MAIL_PASSWORD=пароль
MAIL_ENCRYPTION=tls

*Если пользователь является пользователем Яндекс.ПДД, то вводим полный email: name@domain.ru

2017   how to   laravel   mail   yandex

VIM: краткая памятка

В Git редактором по умолчанию является Vim. Для людей, не посвященных в его возможности, первое знакомство с этим редактором обычно вызывает лишь психологическую боль. Для того, что бы закоммитить изменения через консоль и не повредить свою нервную систему, нужно лишь понять, какие команды требуется выполнить.
Чаще всего с этим редактором столкновение происходит при выполнении следующей команды:

git commit -a

После выполнения открывается редактор:

Редактор может работать в различных режимах:

  1. командный режим,
  2. режим вставки,
  3. режим ex mode.

После запуска, по умолчанию, редактор открывается в командном режиме. Нам, для продолжения работы нужно перейти в режим вставку. Нажимаем «i» и получаем возможность редактирования текста. Пишем Commit Message и нажимаем ESC. Vim перейдет в командный режим.
В этом режиме можно использовать следующие команды:

:q для выхода (сокращение от :quit)
:q! для выхода без сохранения (сокращение от :quit!)
:wq для сохранения и выхода
:wq! для сохранения и выхода, даже если файл имеет статус "только для чтения"
:x для сохранения и записи, тоже самое что и :wq, но если изменений нет, то выйдет просто без сохранения

Что бы избежать работы с редактором, при использовании git commit, нужно добавить еще один параметр «-m» и после него написать описание коммита.

git commit -a -m Commit message
2017   how to   vim

Git: создать и залить новую локальную ветку в удаленный репозиторий

Обе ниже описаные команды создадут ветку на тот коммит, на котором вы сейчас находитесь. Так что перед созданием, обязательно убедитесь что вы находитесь в той ветке, из которой вы хотите создать новую. Делается это следующим образом:

git status

В ответ должно вывестись следующее:

On branch master

Где master — название ветки, в который вы находитесь на данный момент.


Создаем новую ветку и сразу в нее переходим командой:

git checkout -b develop

Текущая команда является шорткатом к этим двум:

git branch develop
git checkout develop



Публикация в удаленном репозитории:

git push --set-upstream origin develop

Или шорткатом:

git push -u origin develop

Опция —set-upstream позволит сделать ветку develop, на удаленном репозитории, связанной с локальной, а значит и отслеживаемой. Это позволит отправлять/принимать изменения без использования алиасов для сервера и удаленных веток.

2017   git   how to

Git: как удалить или переименовать ветку

Удаление ветки

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

git push origin --delete <branchName>

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

git branch -d <branchName>

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

git branch -m master old_version

В этом случае ветка master переименуется в old_version.
Не забываем, что в случае, если вы создаете новую ветку со старым названием, то это приведет к проблемам при pull у всех разработчиков, которые продолжали работать над master, поэтому им нужно будет сделать у себя

git reset --hard origin/master
2017   git   how to