git clone [email protected]:whatever` というコマンドを実行すると、カレントフォルダ内に whatever という名前のディレクトリが作成され、Git リポジトリの内容がそのフォルダにドロップされます。
/httpdocs/whatever/public
問題は、Git リポジトリの内容をカレントディレクトリにクローンして、ウェブサーバーの適切な場所に表示させたいということです。
/httpdocs/public
リポジトリをクローンした後にファイルを移動する方法は知っていますが、これはGitを壊してしまうようで、git pull
を呼び出すだけで更新できるようにしたいのです。どうすればいいのでしょうか?
**オプションA:***。
git clone [email protected]:whatever folder-name
Ergo, for right here
use:
git clone [email protected]:whatever .
オプションB:。
.gitフォルダも移動します。グラフィカルなファイルエクスプローラーでは
.git` フォルダーは隠されているので、隠しファイルを表示するようにしてください。
mv /where/it/is/right/now/* /where/I/want/it/
mv /where/it/is/right/now/.* /where/I/want/it/
1行目では通常のファイルをすべて取得し、2行目ではドットファイルを取得します。dotglob を有効にすることで一行で済ませることもできますが (例: shopt -s dotglob
)、この答えを求めているのであれば、それは悪い解決策でしょう。
もっと良い方法があります:。
作業コピーをどこか別の場所に置いて、シンボリックリンクを作ってください。以下のように。
ln -s /where/it/is/right/now /the/path/I/want/to/use
あなたの場合は次のようになります。
ln -sfn /opt/projectA/prod/public /httpdocs/public
必要であれば、簡単にテストに変更することができます。
ln -sfn /opt/projectA/test/public /httpdocs/public
のように、ファイルを移動せずにテストすることができます。誰かがこれらの行をコピーしている場合に備えて、-fn
を追加しました (-f
は強制で、-n
は既に存在するリンクや存在しないリンクとの不必要な相互作用を避けるためです)。
単に動作させたい場合はオプションAを、他の人が自分のやったことを見る場合はオプションCを使ってください。