我正在尝试将本地 git 存储库传输到网络服务器。我按照这里的方法: 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
但是在服务器上,我看不到我在本地机器上添加的两个文件中的任何一个。
如果我在 /www/git
中执行 ls
我会得到:
HEAD branches config description hooks info objects refs
但是这些文件和目录都不是我从本地机器推送的。
最佳答案
这就是裸
存储库的意义所在。它没有工作目录,也没有 check out 分支。它只是 .git
目录。它旨在促进推 pull 操作,但不处理文件本身。
如果你想真正使用服务器上的文件,你应该在服务器上的其他地方 check out 一个非裸副本。然后您的客户端和服务器可以通过从裸仓库中推送/pull 来继续共享代码。
关于git - 将 git 存储库传输到 Web 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24541025/