我正在尝试使用git在我的远程服务器中部署我的本地代码。
所以这就是我在本地文件夹mywebsite /中所做的:
git init
git add .
git commit -m "Initial commit"
然后,在我的网络服务器上:
mkdir ~/public_html/myrepo.git
cd myrepo.git
git init --bare
然后,在我的本地文件夹mywebsite /:
上git remote add remote_mywebsite ssh://user@domain.com:port/~/public_html/myrepo.git
git push remote_mywebsite master
给出了这个结果:
Counting objects: 89, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (74/74), done.
Writing objects: 100% (89/89), 61.94 KiB, done.
Total 89 (delta 2), reused 0 (delta 0)
To ssh://user@domain.com:8943/~/public_html/myrepo.git
* [new branch] master -> master
git pull remote_mywebsite
但是当我登录我的网络服务器时,在myrepo.git中,我仍然有这些文件和文件夹
./
../
branches/
config
description
HEAD
hooks/
info/
objects/
refs/
我没有检索我在本地mywebsite文件夹中的文件和文件夹。
如何在远程myrepo.git文件夹中检索我的代码?我做错了吗?
非常感谢你的帮助!
答案 0 :(得分:19)
您已经创建了一个没有工作目录的远程存储库(这是--bare
选项的目的)。接下来需要做的是将远程存储库克隆到您的网站目录中。我使用相同的方法;我有一个〜/ git目录,其中包含一个或多个裸git存储库,然后是一个或多个网站的克隆。您的步骤可能是:
# locate your bare repository in a 'git' directory
remote$ mkdir ~/git; mkdir ~/git/mywebsite.git; cd ~/git/mywebsite.git; git init --bare
# set this up as your remote
local$ git remote add origin ssh:.../git/mywebsite.git
local$ git push origin ...
# on the remote, clone into your working website
remote$ cd ~/public_html
remote$ git clone ~/git/mywebsite.git mywebsite
使用这种方法,您可以在本地开发,随意推送到远程,然后,当您准备好时,在遥控器上git pull
实际更新网站。
答案 1 :(得分:0)