2011-12-11 10 views
5

ありがとうございました。ローカルマシンからサーバーへのgit pushは動作しますが、サーバー上のファイルは動作しません。

ローカルマシン(mac osx lion)にgit repoがあります。これは私のec2インスタンスをUbuntuにプッシュしようとしています。私のローカルマシン上

cd /u/apps 
mkdir stuff.git 
cd stuff.git 
git init --bare 
git update-server-info 

を私は単なるテキストファイルのあるフォルダ「もの」を持っている:私はやったEC2サーバー上で

cd stuff 
git init 
git add . 
git commit -m "initial commit" 
git remote add origin [email protected]:/u/apps/stuff.git 
git push origin master 

Counting objects: 6, done. 
Delta compression using up to 2 threads. 
Compressing objects: 100% (3/3), done. 
Writing objects: 100% (4/4), 477 bytes, done. 
Total 4 (delta 0), reused 0 (delta 0) 
To [email protected]:/u/apps/stuff.git 
95d5ae5..4b5a30f master -> master 

すべてが正常であるように見えますが、サーバーをチェックすると「hello.txt」という新しいテキストファイルが追加されていません。私が見ているのは:

/u/apps/stuff.git$ ls 
branches config description HEAD hooks info objects refs 

私が見落としているかもしれないことについての考えはありますか?

乾杯

答えて

6

それがあるべきとしてあなたは裸のレポ(git init --bare)を作成したので、はい、あなたはファイルが表示されません。裸のレポには働く木がありません。

ファイルを特定のパスで取得しようとしている場合は、サーバーのベアリポジトリから受信後のフックを設定し、チェックアウトする必要があります。ポストフックを受けるようなものを持っています:

GIT_WORK_TREE=/path/where/to/checkout git checkout -f 

(上記もしたい場合は、サーバ上のリポジトリから手動で実行することができます)

+0

ねえmanojlds - 私は反対のことをやろうとしていると私のローカルマシンから、サーバからファイルを取得するのではなく、裸のレポを持っている私のサーバにファイルをプッシュしてください。とにかく、ありがとう。 – Dandan

+0

@Dandan - Um、それは私が言ったことです。 – manojlds

+0

ごめんなさい、あなたが何を意味しているのか分かります。それはトリックをしたようだ。これまでの追加ステップに加えて、これはローカルマシンからサーバーにファイルを設定してプッシュする通常の方法でしょうか? – Dandan

関連する問題