我的目标是 :
我在本地计算机上维护了一些文件,并将其与他人分享到我的网站上。 在过去,我通过使用FTP手动上传所有文件来做到这一点,每次我做了一些修改等。现在,我想知道如果我可以使用Git来帮助我实现这一点(通过“推”本地文件到我的网站服务器)。 我的服务器由Dreamhost托pipe。
第一次尝试 :
首先,我尝试这个教程 。 我首先推我的本地文件到我的Github git clone --bare ,然后ssh到我的Dreamhost服务器,从github git clone --bare 。 但是我发现git不会传输我的文件。 所以我忽略了这个教程。
第二次尝试 :
我ssh到我的Dreamhost服务器直接从Github克隆。 我的文件全部转移到服务器。 然后,在我的本地计算机上,我git remote add dreamhost ssh://[email protected]/~/my-project 。 然后我添加一些文件,并提交,和git push dreamhost master 。 并出现一堆错误:
错误http://geotakucovi.com/gitError.jpg
作为一个新手Git用户,我一定错过了一些东西。 请帮忙!
当你使用一个Git仓库作为中央仓库(你似乎是),你通常不应该在该仓库上有一个工作目录。 原因是在你提到的错误中列出的:推入一个被检出的分支会导致工作树不同步。
如果你正在共享的人可以使用Git,那么你可以在服务器上build立一个裸仓库,然后推送到它。
# On the server git init --bare ~/project.git # On your computer git remote add origin ssh://[email protected]/~/project.git git push origin master # On everyone else's computer git remote add origin http://example.com/~david/project.git git pull origin master git checkout master
如果他们不能使用Git,那么你需要一个稍微复杂一些的工作stream程:
# On the server, once git init ~/project git config receive.denyCurrentBranch ignore # On your computer git remote add origin ssh://[email protected]/~/project git push origin master # On the server after each push cd ~/project git reset --hard
在这一步之后,这些文件应该在/project下可用
我不是一个巨大的混帐用户,但试试这个: