3

我试图在我的网站上使用 git。该网站位于我们的网络服务器上。

mkdir /home/website/public_html
cd /home/website/public_html
git --bare init

然后我转到本地机器并切换到我的文件所在的目录

git remote rm origin
git remote add origin git@server.com:/home/website/public_html
git push origin master
Enter passphrase for key '/c/Users/git/.ssh/id_rsa':
Counting objects: 6, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (6/6), 460 bytes, done.
Total 6 (delta 0), reused 0 (delta 0)
To git@server.com:/home/website/public_html
 * [new branch]      master -> master

但是现在当我回到我的服务器时:

ls /home/website/public_html
branches  config  description  HEAD  hooks  info  objects  refs

我推送到服务器的文件在哪里?我会以错误的方式解决这个问题吗?(我推送的本地文件夹中唯一的东西是自述文件)

4

2 回答 2

5

您已经在服务器上创建了一个裸存储库。裸存储库没有工作区。

我假设您正在尝试使用 Git 进行网站发布?请参阅此链接以获取一个选项。简而言之:

  • 您在服务器上创建 2 个存储库。一个是裸存储库,就像您已经创建的一样,但它位于 public_html 目录之外
  • 其他是 public_html 目录中的普通存储库
  • 您创建一个 post-receive 挂钩,每当您推送到裸存储库时,它都会更新 public_html 目录中的存储库
于 2013-04-23T05:14:50.393 回答
0

您必须克隆您使用 git --bare init 创建的存储库。请参阅git clone。例如 :

1) 在服务器上的文件夹中使用 git --bare init 创建一个存储库

2)将该存储库克隆到您要使用的位置,例如 public_html

3)在克隆文件夹中添加新内容后,使用:

git add .
git commit -a -m" message for commit "
git push origin master 

要从您的存储库中获取代码,请使用:

git pull origin master 

这会将存储库中的代码与您的本地分支合并

于 2013-04-23T05:14:08.047 回答