1. ホーム
  2. git

[解決済み] Git リポジトリを特定のフォルダにクローンする方法は?

2022-03-18 14:53:37

質問

コマンドを実行する git clone [email protected]:whatever という名前のディレクトリをカレントフォルダに作成します。 whatever そして、Git リポジトリの内容をそのフォルダーにドロップします。

/httpdocs/whatever/public

問題は、Git リポジトリの内容をカレントディレクトリにクローンして、Web サーバーの適切な場所に表示させる必要があることです。

/httpdocs/public

リポジトリをクローンした後でファイルを移動させる方法は知っていますが、これではGitが壊れてしまうようです。 git pull . どうすればいいのでしょうか?

どのように解決するのですか?

オプション A:

git clone [email protected]:whatever folder-name

エルゴでは right here を使用します。

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を有効にすることで1行で行うことも可能です。 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を使いましょう。