我正在尝试将本地git存储库转移到Web服务器。我按照这里的方法: Git: move existing repository from PC to server, clone from server
首先,我在本地计算机上初始化了一个空存储库,并添加了两个文件并进行了提交。
然后在服务器上创建了一个文件夹/www/git
,并更改为该目录并执行了
git init --shared --bare
然后在我运行的本地机器上
git remote add server user@server.com:/www/git
然后我做了
git push server master
输出如下:
Counting objects: 4, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 2.13 KiB, done.
Total 4 (delta 0), reused 0 (delta 0)
To user@server.com:/www/git
* [new branch] master -> master
但是在服务器上,我看不到我在本地计算机上添加的两个文件中的任何一个。
如果我在ls
/www/git
HEAD branches config description hooks info objects refs
,我会得到:
{{1}}
但这些文件和目录中没有一个是我从本地计算机推送的文件。
答案 0 :(得分:6)
这就是bare
存储库的重点。它没有工作目录,也没有检出分支。它只是.git
目录。这是为了方便推拉,但不使用文件本身。
如果您想实际使用服务器上的文件,则应该在服务器上的其他位置签出repo的非裸副本。然后,您的客户端和服务器可以通过推送/拉出裸仓库来继续共享代码。