回答:
最近Git wikiに追加されたツール:
RenéMoserによるgit-ftpは、Gitの方法でFTPを実行するための単純なシェルスクリプトです。git-ftp.shを使用して、最後のアップロード以降に変更されたGit追跡ファイルのみをFTPサーバーにアップロードします。これにより、時間と帯域幅を節約できます。異なるブランチで遊んでも、git-ftp.shはどのファイルが異なるかを認識しています。通常のFTPクライアントはそれを行うことができません。
Edward Z. Yangによるgit-ftpは、FTPを介してGitリポジトリにファイルをアップロードし、新しいファイルのみを転送し、古いファイルを削除するための、pythonで記述された単純なスクリプトです。
GUIを使用する場合は、SourceTreeを使用すると、上記のgit-ftpを使用するカスタムアクションを簡単に設定できます。FTPへのGitリポジトリのプッシュでのセットアップ(Mac用)の簡単な説明
MacでTransmitを使用している場合は、次のgit-tranmitスクリプト(https://gist.github.com/379750)をお勧めします。DockSendを使用して、最後に更新されたファイルのみを送信します。DockSendに慣れていない場合は、http: //www.panic.com/blog/2010/11/15-secrets-of-transmit/を確認してください。
セットアップ:
厳密に言えば、それはgitの目的ではありません。ただし、ソースがコンパイルや処理を必要としないものである場合、たとえば、完全にhtmlおよびjavascriptファイルなどで構成されるWebサイトの場合、Webサーバーにリポジトリのクローンを作成し、サーバーから使用git pull
してそれを維持することができます。 -現在まで。注:gitディレクトリなどを非表示にするようにウェブサーバーを設定します。そして、それはセキュリティの懸念の始まりにすぎません。
これはPHPのスクリプトで、git-diffをFTPサーバーにほぼ自動的にアップロードします。
1つのプロジェクトでは無料で、非常にうまく機能します。
ここにRubyスクリプトがあります-FTPまたはSSHを介したRuby git-deployは、FTPまたはSSHを介して変更されたファイルのみをgit repoにアップロードします。
別の答えで述べたように、これは同様のことを行うPythonのgit-ftp.pyスクリプトです。
そして、これがgit-ftpのシェルスクリプトバージョンです。
HerokuおよびAzureサービスと同じように、コマンドを使用してgitリモートを介してカスタムデプロイを設定できるgit-deployと呼ばれるRuby gemプロジェクトもありgit push
ます。この場合、FTP経由でデプロイするカスタムメソッドを作成する必要がある場合があります。本番サーバーへのSSHアクセスがあることを前提としています。
コードを本番環境に導入する場合は、RPMパッケージなどの「インストーラー」を使用してコードをインストールすることをお勧めします。これにより、バージョンにスタンプが付けられ、インストーラーパッケージを利用して、製品コードの更新をサポートできるようになります。Gitは本番環境のインストールをサポートするようには設計されておらず、コード自体の変更を追跡することを目的としています。
いずれにせよ、.RPM(またはEXEなど)をビルドして、本番システムにFTPで転送し、他のパッケージと同様にインストールできます。
http://linuxconfig.org/mount-remote-ftp-directory-host-locally-into-linux-filesystemを使用して、常にFTPをローカルディレクトリにマウントすることができます。
その後、これと同じ方法で使用できます。
これを理解するために私は多くの苦労していました。私はこれをさまざまなソース(git-ftpINSTALL、 git-ftpUPLOAD、git-ftpIssue、git-ftpPUSH)から簡単に行う方法を見つけました。参照用に読むことはできますが、以下の段階的なプロセスについて説明したので、必要はありません。
まず最初に:MAC OSでbrewを使用してgitとcurlをインストールします
brew install git
brew install curl --with-ssl --with-libssh2
brew install git-ftp
次のコマンドを実行します。
git clone https://github.com/git-ftp/git-ftp.git
cd git-ftp
git tag # see available tags
git checkout <tag> # checkout the latest tag by replacing <tag>
sudo make install
gitを使用した更新
git pull
git tag # see available tags
git checkout <tag> # checkout the latest tag by replacing <tag>
sudo make install
セットアップ
git config git-ftp.url YourFtpServerName.Net
git config git-ftp.user FtpUserName
git config git-ftp.password YourPassword
すべてのファイルをアップロード
git ftp init
または、ファイルがすでに存在する場合
git ftp catchup
仕事と配備
echo "Hello StackOverflow" >> index.txt
git commit application/libraries/index.txt -m "I love StackOverflow"
git ftp push
エラーがある場合:pathspec 'index.txt'は、gitが認識しているどのファイルとも一致しませんでした。これは、ファイルがまだステージングされていないことを意味するので、ファイルを追加してからコミットしてみてください。
git add application/libraries/index.txt
git commit application/libraries/index.txt -m "I love StackOverflow"
お役に立てれば。
FTPloyを試すことができます...
「GitHubまたはBitbucketへの変更をプッシュします。」
「変更をサーバーに自動的にデプロイする」
試してみる無料のプロジェクトが1つあります。私は現在、小さなphpのウェブサイトを使用していますが、かなりうまくいきます。サイトにいくつかのバグがありますが、それはアクティブなプロジェクトなので、少なくとも彼らはそれに取り組んでいます。
MacOSを使用していてGUIが好きな場合は、https://gitftp-deploy.com/を確認してください。
これは、Gitを使用して変更を追跡し、変更されたファイルのみをFTPでアップロードする小さなアプリケーションです。
小さなチームで何十もの小さなプロジェクトに月額料金を支払うのが嫌な場合は特に便利です。