VonCの答えは正しいです。VonCが提供したリンクに加えて、このリンクhttp://toroid.org/ams/git-website-howtoを見つけました。このリンクと一緒に物事を機能させるために私がしたことのプロセスをただ通過するつもりです。私が提供しているリンクの情報は2010年11月17日に最後に更新されましたが、それでも機能します。物事を設定する方法は他にもたくさんあると確信しているので、これは決して網羅的なものではありません。私はサーバーやUnixコマンドの経験があまりないので、この説明はその観点から来ています。
非常に重要な最初のステップは、以下のコマンドを実行するためにリモートサーバーへのSSH接続が必要であるか、サーバー自体のコマンドラインから実行する必要があることです。これは別のトピックであり、それを支援するための多数のリソースをオンラインで見つけたため、ここでは取り上げません。
まず、ローカルマシンとリモートサーバーにGitがインストールされていることを確認します。そこにあるハウツーのほとんどはこれを説明していて、非常に簡単に実行できます。http://www.git-scm.comは、ローカルマシンのインストーラーをダウンロードした場所です。このサイトには、リモートサーバーへのインストール方法に関する情報もあります。
注意すべきもう1つのこと。ローカルマシンにMAMPを実行しているMacを使用しており、リモートサーバーはUbuntuLinux10.04.1です。
ステップ1-ローカルリポジトリを設定する
これはいくつかの方法で行うことができます。コマンドラインまたはSourceTree、Tower、GitXなどのGitアプリを使用します。これがGitの使用方法であるため、アプリを使用しました。
ステップ2-リモートリポジトリを設定する
$ mkdir website.git && cd website.git
$ git init --bare
1行目-リモートマシンにディレクトリを作成し、そのディレクトリに変更します
2行目-website.gitディレクトリ内にベアリポジトリを作成します。website.gitには、.git拡張子を付けた任意の名前を付けることができます。ベアリポジトリに関するVonCの説明を参照してください。
ステップ3-これは私に最も問題を与えたステップです
$ mkdir /var/www/www.example.org
$ cat > hooks/post-receive
#!/bin/sh
GIT_WORK_TREE=/path/to/web/root git checkout -f
$ chmod +x hooks/post-receive
1行目-これは、Webルートとなるディレクトリを作成するだけです。Webサーバールート用にディレクトリがすでに設定されている場合は、これを実行する必要がない場合があります。すでにWebルートセットがある場合は、これをスキップしてください。
2〜4行目-これが私の最初のハードルでした。このコマンドは、受信後のファイルに含まれる内容を表示します。リモートサーバー上のこのファイルにFTPで転送するか、コマンドラインから編集できます。最終的にはテキストエディタで編集し、ftp経由でサーバーに保存し直しました。私にとってはずっと簡単です。このファイルは、ステップ2で作成したディレクトリwebsite.git / hooks/post-receeive.sampleにあります。
また、ファイルの実際の名前の最後に.sampleが付いていることにも気付くでしょう。これを拡張子なしで名前変更する必要があります。これは本質的にフックをオンにします。新しいファイル名は単に受信後にする必要があります
ファイルを開くと、次のテキストが表示されます。
#!/bin/sh
#
# An example hook script for the "post-receive" event.
#
# The "post-receive" script is run after receive-pack has accepted a pack
# and the repository has been updated. It is passed arguments in through
# stdin in the form
# <oldrev> <newrev> <refname>
# For example:
# aa453216d1b3e49e7f6f98441fa56946ddcd6a20 68f7abf4e6f922807889f52bc043ecd31b79f814 refs/heads/master
#
# see contrib/hooks/ for a sample, or uncomment the next line and
# rename the file to "post-receive".
#. /usr/share/doc/git-core/contrib/hooks/post-receive-email
これらの行はコメント化されているため、何も害はありません。これらの行を削除するか、コメント行の下に次の行を残して追加することができます。それが完了したら、ファイルをリモートサーバーに保存し直します。
#!/bin/sh
GIT_WORK_TREE=/path/to/web/root git checkout -f
5行目-これにより、受信後のファイルのファイル権限がサーバー上で実行可能になります。これは、物事が後で壊れないようにするための確実なステップです。
ステップ4-リモートを追加し、ローカルマスターをプッシュします
この手順は、コマンドラインまたは前述のGitアプリのいずれかを使用して実行できます。私はアプリの1つを使用しています。私にとっては簡単で、私が言ったように、私はサーバーとUNIXコマンドの初心者です。良い点は、アプリとコマンドラインを組み合わせて使用できることです。すべてがgitリポジトリに記録され、どちらも同じものが表示されます。最も快適なものを使用してください。ほとんどの場合、基本的なコマンドラインのいくつかを学ぶように指示されますが、これは悪い考えではありません。
ステップ5-ローカルマシンにブランチを作成します。
変更に満足したら、それらをマスターブランチにマージし、リモートにプッシュします。これでサイトが更新され、追加した新しい変更が反映されます。
それでおしまい。それが私を立ち上げて実行させたものです。うまくいけば、これが役に立ち、私が書いたものにあまり多くのエラーがありません。