Пример создания git репозитория на Bitbucket. Также небольшой sh скрипт для автоматизации комитов и способ как делать git push без пароля
Работа с Git на примере Bitbucket
14.09.2016
Скрипт для авто коммита - внизу статьи.
Инициализация гита
Открываем нужную папку, и в консоли вводим:
git init git remote add origin git@bitbucket.org:_Oddler_/test1.git
Внимание: В текущей директории будет создана папка .git
Настройки
git config --global user.email "EMAIL" git config --global user.name "Oddler"
Делаем commit
git add . git commit -m "First Commit." git push -u origin master
 
git push -u origin master
- запросит пароль. Для bitbucket - это пароль от учетной записи.
Сообщение:
error: src refspec master does not match any. error: failed to push some refs to 'ssh://xxx.git'
- обозначает, что камит пустой, нужно закинуть хотя бы один файл и повторить попытку.
git push без пароля
Генерируем ключ
ssh-keygen
Рекомендуется еще сделать, но я перезагружался:
ssh-agent /bin/bash ssh-add ~/.ssh/id_rsa
Получаем код ключа:
cat ~/.ssh/id_rsa.pub
Добавляем его а аккаунт
Правим конфиг (Если качали репозиторий по https://, а не по GIT)
Важно: этого можно не делать, если первоначально указать нужное значение в "git remote add origin "
mcedit .git/config
[remote "origin"] url = https://_Oddler_@bitbucket.org/_Oddler_/raspberry1.git
на
[remote "origin"] url = git@bitbucket.org:_Oddler_/raspberry1.git
Скрипт для авто коммита
Небольшой скрипт, который запрашивает называние комита, и автоматически отправляет все поседение изменения в репозиторий.
push_commit.php (Download)
#!/usr/bin/php <?php class soMain { /** * выводит на экран сообщение * * @param string $sMsg * * @return void */ protected function _printLn($sMsg) { echo $sMsg."\n"; } /** * Основной метод * * @return void */ public function go() { $aIn = getopt('c:'); if (isset($aIn['c'])) { $this->_printLn(exec('git add --all *')); $this->_printLn(exec('git commit -m "'.$aIn['c'].'"')); $this->_printLn(exec('git push -u origin master')); } else { $this->_printLn('Error (1): no comment given'); } } } $oMain = new soMain(); $oMain->go();
Запускать: push_commit.php c="комментарий"