#git #github
#git #github
Вопрос:
Я спросил об этом вчера, но не задал свой вопрос правильно, поэтому никто не смог помочь. Итак, я попробую еще раз.
Я добавляю репозиторий
mkdir test
cd test
git init
git remote add origin git@bitbucket.org:user/test.git
git add .
git commit -m "initial"
git push origin master
Я подключаюсь по ssh к своему веб-серверу и клонирую git
git clone git@bitbucket.org:user/test.git
cd test
Я настраиваю свой хук на сервере, добавляю проверку git, а затем даю разрешение на файл
git config receive.denyCurrentBranch ignore
vim .git/hooks/post-recieve
GIT_WORK_TREE=../ git checkout -f
chmod x .git/hooks/post-recieve
Я добавляю свой ssh в авторизованные ключи сервера.
Затем я добавляю свой удаленный сервер с локального
git remote add test user@server.com:test
На git remote -v я получаю
test user@server.com:test (fetch)
test user@server.com:test (push)
origin git@bitbucket.org:user/test.git (fetch)
origin git@bitbucket.org:user/test.git (push)
Затем я добавляю файл
touch test.php
git add test.php
git commit -m "test page"
git push origin master
Затем я нажимаю на сервер
git push test master
На сервере при ls -l я получаю только один файл index.php
Когда я выполняю статус git, я получаю
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
# (use "git push" to publish your local commits)
#
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# deleted: test.php
#
Затем мне нужно запустить git stash, чтобы получить все файлы.
Таким образом, головка находится в правильном положении. Он восстановил test.php файл, но затем удалил его?
Ответ №1:
Абсолютно глупо, вчера потратил целый день, пытаясь решить эту проблему, и это была глупая опечатка.
vim .git/hooks/post-recieve
Неправильно записано
vim .git/hooks/post-receive
Я просто собираюсь убить себя.