15

ftp サーバーを使用していますが、そこに追加のソフトウェアをインストールできません。その上にgitリポジトリを作成し、ローカルPCにクローンすることは可能ですか? ローカルリポジトリを作成してftpにコピーしようとしました。それはうまくいきますか?ftp サーバーからクローンを作成するにはどうすればよいですか?

4

4 に答える 4

6

この件について議論する StackOverflow に関する他のさまざまな質問があります。

...あなたのケースに適した解決策があるかもしれません。

使用しているオペレーティング システムはわかりませんが、Linux ベースの場合は、FTP サーバーをFUSE + fuseftpを使用してローカル ファイル システムの一部としてマウントすることをお勧めします。Mac OS を使用している場合は、同様にMacFuseを試すことができます。(注: 私自身、fuseftp を試したことがないので、推奨または推奨しない立場にはありません。) Windows にも同様の機能があることは間違いありません。

次に、マウントされたディレクトリで実行し、ローカルリポジトリであるため、そこからプッシュおよびプルできるはずです。各プッシュの後に実行されるサンプルフックgit init --bareも有効にする必要があります。そうしないと、リポジトリ URLを使用してサーバーと対話するときに問題が発生します。post-updategit update-server-infoftp://

于 2011-02-28T13:30:24.213 に答える
5

はい、うまくいくはずです。その方法についても、この他の回答を参照してください。

ftp://URL でプロトコル指定子を使用するだけで、HTTP 経由でアクセスする場合と基本的に同じです。

git clone ftp://username:password@ftp.server.net/repos/project.git

ノート:

  1. cloningだけを要求しましたが、リモートリポジトリに何かを書き戻す必要がある場合 (つまり、 pushも)、裸の FTP セットアップでは運が悪く、サーバーで追加のソフトウェアを実行する権限がありません。

  2. FTPアクセスには、他のSOの回答(上記のリンク)またはこの投稿(FTPサーバー/構成に応じてアクセスできないファイルについて)で示唆されているように、注意事項がないわけではありません。

  3. git-clone の man ページには、FTP トランスポートは「非推奨」になり、さまざまな理由で避けるべきであると書かれています。そのメモは単なる間違いであることを願っています。

    a) レポを共有するための唯一のオプションとして FTP しか持っていないのに、すでに十分に惨めな貧しい仲間を罰することは、非常に友好的でない考えのように思えます。(他のオプションがある残りのユーザーは、とにかくそれらを使用することを好みます。)

    b) gitremote-helpers のマニュアル ページと矛盾しているように思われます。このマニュアル ページでは、ftp トランスポートについても明示的に言及されていますが、それに反対するものは何もありません。

    c) すべてのトランスポートには制限/メリットがあり、FTP も例外ではありません。(トランスポート ヘルパーのコマンドを介してcapabilities、ツールも問題なく、何に使用し、何に使用しないかを交渉できます。)

    FTP が実用的な代替手段であり続ける限り、git クローン作成が引き続き FTP で機能することを願っています (そしておそらく、その恐ろしいコメントが実際に意味するのは、git がそれをネイティブにサポートしていないということです)。

于 2014-05-08T10:51:48.513 に答える
5

Git がサーバー上で実行されている場合に機能します。

しかし、あなたが説明していることから、そうではないと思います。

于 2011-02-28T11:15:16.730 に答える
1

git-ftp プロジェクトツールを使用して、これを ftp サーバーにデプロイできます。使い方は簡単で、ローカル サーバーにインストールしてリモートで展開できます。これが私にとってうまくいった基本的な構成です:

  - git config git-ftp.user YOUR_FTP_USERNAME # ftpuser
  - git config git-ftp.password YOUR_FTP_PASSWORD # ftppass
  - git config git-ftp.url YOUR_FTP_SERVER # ftp.domain.com, might be a path to subdirectory ftp.domain.com/public_html
  - git config git-ftp.syncroot public_html/ # optional if you only want to push a part of your repository
  - git ftp init
  - git ftp push
于 2016-10-12T05:04:22.803 に答える