ワークステーションから、「git checkout -f」を実行するフックを含むサーバー上の git ベア リポジトリに変更を「プッシュ」できるので、Git 経由でサイトをデプロイできます。
問題は、私の Web サイトのユーザーがファイル (画像など) をアップロードできることです。これらのファイルがなければ、Web サイトは機能しません。私の質問は次のとおりです。ライブ バージョンの変更をワークステーションにどのように取得できますか? (ユーザーがアップロードしたファイルなど)。
**編集:この構成を設定するために私が従った手順に関する詳細:**
すでにサイトが含まれているサーバー上で:
$ cd /home/website/www $ git init $ git add * $ git commit -m 'First commit !'
...次に、ベアリポジトリを作成します...
$ cd /home/website $ mkdir www.git $ cd www.git $ git init --bare
...次にフックを設定します...
$ git config core.bare false $ git config core.worktree /home/website/www $ git config receive.denycurrentbranch ignore $ cat > hooks/post-receive #!/bin/sh GIT_WORK_TREE=/home/site/www git checkout -f
... 次に、ベア リポジトリをコミットします。
$ git add /home/website/www $ git commit -m "First commit of the bare repository" On my workstation, on a new folder, to get the whole directory : $ mkdir /Users/me/Sites/website/ $ git init $ git remote add live ssh://root@myserver.com/home/website/www.git $ git pull live master
その後、動作します。ワークステーションでファイルを変更してライブにしたい場合は、「git push live master」を実行するだけです。