2017-06-06 12 views
1

私はこの回答をどこにも見つけることができません。 Webサーバ上のファイルに対してローカルのgitリポジトリを設定することは可能ですか?私は、スペースの不足のためにウェブサーバにレポを載せたくありません。リモートディレクトリのGitローカルリポジトリ

+0

これらのファイルはgitリポジトリ内にありますか? – 5208760

+0

あなたが求めていることを明確にすることはできますか?あなたはWebサーバー上にいくつかのファイルを持っていて、それらをあなたのマシンにダウンロードしたいのです...それは問題ありません。そして、Gitリポジトリをその中のファイルとともに作成することができます。他に何をしたいですか? – bdesham

+0

@bdesham私はファイルをダウンロードしたくありません。私はGitにサーバー用のファイルを入手して追加するコマンドがあるかどうか疑問に思っていました。私。それはダウンロード自体を行います。 –

答えて

0

リポジトリがローカルに保存されているように思えますが、作業ツリーをWebサーバーが提供するコンテンツのツリーと一致させたいと思っています。

ネイティブサポートはありませんが、コンテンツツリーを含む基本ドライブ/ディレクトリをローカルパス(ネットワーク共有ドライブとして扱う)にマップすることができれば、git worktree

と動作させることができます

サーバーを設定してコンテンツディレクトリを共有し、その共有をローカルにマッピングする方法の詳細は、OSによって異なります(ウェブデーモンとその設定方法については、ローカルのコンテンツディレクトリそれは問題ではありません)。

worktreeを追加すると、gitはチェックアウトする空のディレクトリを見たいと考えています。したがって、コンテンツツリーが空になることができる短い「停電ウィンドウ」が必要になります。手順は次のようになります

# First, map the content tree to ./web-content 
# ... 

# Now initialize a repo 
mkdir repo-init 
cd repo-init 
git init 

# Import the web content into the repo; must be in outage window 
mv ../web-content/* . 
git add . 
git commit 

# Re-make the repo as a "mirror" to remove the default work tree 
cd .. 
git clone --mirror repo-init repo 
rm -rf repo-init 
cd repo 
git remote remove origin 

# Now check the content back out to the server 
git worktree add ../web-content master 

# outage window can now end 

これで、Webサーバー上のファイルを追跡するローカルレポが作成されました。サーバーを更新するためにプル(またはプッシュ)できるようにするには、適切に構成する必要があります(レポがサーバー上にある場合と同じです)。

0

あります。最も簡単な方法は、リポジトリをローカルに保持し、ftp/rsyncを使用してリモートからコード(作業ディレクトリのみ)を置くことです。それでおしまい。あなたのホストはあなたのレポを必要としません。

関連する問題