【问题标题】:Remote Git Repository in document root文档根目录中的远程 Git 存储库
【发布时间】:2013-04-16 04:06:47
【问题描述】:

我正在尝试将 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

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

【问题讨论】:

    标签: git remote-server git-push


    【解决方案1】:

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

    我假设您正在尝试使用 Git 进行网站发布?请参阅this link 了解一种选择。简而言之:

    • 您在服务器上创建了 2 个存储库。一个是裸存储库,就像您已经创建的一样,但它位于 public_html 目录之外
    • 其他是public_html目录下的普通仓库
    • 您创建一个接收后挂钩,每当您推送到裸存储库时,它都会更新 public_html 目录中的存储库

    【讨论】:

      【解决方案2】:

      您必须克隆您使用 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 
      

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

      【讨论】:

      • 您的意思是git push origin mastergit pull origin master
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-30
      • 2011-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-18
      • 2010-10-09
      相关资源
      最近更新 更多