16

gitを使用してローカルコードをリモートサーバーにデプロイしようとしています。

これが私のローカルフォルダmywebsite/で行ったことです:

git init
git add .
git commit -m "Initial commit"

次に、私のWebサーバーで:

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でWebサーバーにログインすると、これらのファイルとフォルダーがまだ残っています。

./
../
branches/
config
description
HEAD
hooks/
info/
objects/
refs/

また、ローカルのmywebsiteフォルダーにあるファイルとフォルダーを取得しません。

リモートのmyrepo.gitフォルダーにあるコードを取得するにはどうすればよいですか?私は何か間違ったことをしましたか?

あなたの助けをどうもありがとう!

4

2 に答える 2

22

作業ディレクトリなしでリモートリポジトリを作成しました(これが--bareオプションの目的です)。次に行う必要があるのは、そのリモートリポジトリをWebサイトディレクトリに複製することです。私は同じアプローチを使用します。1つ以上のベアgitリポジトリを持つ〜/ gitディレクトリがあり、1つ以上のWebサイトのクローンを作成しています。あなたのステップは次のようになります:

# 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リモートで実際にWebサイトを更新できます。

于 2013-03-17T17:40:59.453 に答える
0

これはあなたの質問に答えます

http://www.saintsjd.com/2011/01/what-is-a-bare-git-repository/

ベアリポジトリでは、ソースを用意する必要はありません。

于 2013-08-22T07:53:42.643 に答える