从本地

时间:2016-10-13 15:14:58

标签: 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 clone

git clone git@bitbucket.org:user/test.git
cd test

我在服务器中设置我的钩子,添加git checkout然后授予文件权限

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 个答案:

答案 0 :(得分:-1)

绝对愚蠢,昨天浪费了整整一天试图解决这个问题,这是一个愚蠢的错字。

vim .git/hooks/post-recieve

拼写错误

vim .git/hooks/post-receive

我只是要杀了我自己。