2017-02-27 9 views
2

変更を引き出すことに関して多くの質問と回答があり、その方法を知っています。Git、ブランチから引き出し、別のフォルダにあるローカルファイルをオーバーライドする

私が持っている問題は、私は今のところ見つかっていない何かであり、ここで私が何をしたいです:

私がサイトを持っていると私は唯一のサイトに変更を引くためにgitを使用したくありません私は別のフォルダからこれをやりたい例えば

A)の/ var/www /のpublic_htmlの< ---場所サイトがどこにあるか

B)/ホーム/ update_site/< ---私が実行したい場所ですgitから

私は自分自身のブランチや相違点などについては気にしません。サーバー上での作業は一切行われず、コミットやサーバー自体の決断は決してありません。 私が望むのは、最新の変更をプルしてサイトのすべてを上書きすることです.gitフォルダやgitに関連するものは、a)の場所に入れたくありません。ファイルをダウンロードするためにwgetを使用すると想像してください。

私はすべてを場所b)に引っ張るbashスクリプトを作成し、次にすべてを場所aにコピーするcpコマンドを実行することを考えていました。

これを行うには良い方法がありますか?

+1

*裸のリポジトリ*と* *受信後のフック*を使いたいとします。 [this](https://gist.github.com/noelboss/3fe13927025b89757f8fb12e9066f2fa)を参照してください。 –

+1

わかりませんが、AWS CodeDeployを使用する方法が1つあります。[https://aws.amazon.com/blogs/devops/automatically-deploy-from-github-using-aws-codedeploy/]をご覧ください。 –

答えて

1

あなたはgit archiveまたはgit checkout-index

例を使用することができます:あなたはドン場合は、ローカルコピー

git archive master | tar -x -C /var/www/public_html 

OR

git checkout-index -f -a --prefix=/var/www/public_html/ 

してください。また、」、引数としてリモートレポを渡すことができますローカルコピーが必要です

git archive --remote=ssh://remote_server/remote_repository master | tar -x -C /var/www/public_html 
+0

ありがとう!それは治療のように働く。私は最後のオプションを使用しました。 – user3537395

関連する問題