web-dev-qa-db-ja.com

gitリポジトリを別のマシンのディレクトリと同期するにはどうすればよいですか?

私のチームと私はgitリポジトリを使用してプロジェクトを追跡しています。このリポジトリは、ほとんどのソフトウェアの開発に使用するWindows PCに複製されています。ただし、別のマシン(sshを介してアクセスするLinux VM)を使用して、ソフトウェアの他の部分を開発しています。

ここでの考え方は、この仮想マシン内のファイル/ディレクトリを追跡し、それらをgitに同期することです。簡単な(そして現在の)ソリューションは、手動でVMからPCにファイルをコピーしてから、それらをgitにコミットすることです。

変更を加えるたびにファイルを手動でコピーしなくても、これを行うより良い方法があると確信しています。提案は大歓迎です!

編集:gitプロジェクトが非常に大きく(〜3.5 GB)、VMにはスペースが限られているため、VMでリポジトリ全体を複製することはできません)

2
AirBlast

LinuxにGitをインストールするVMそしてそこから直接コミットします。もちろん、Linux VMは中央リポジトリに接続できる必要がありますが、 ここで読むことができます 、これにSSHを使用することは完全に可能です。もちろん、リポジトリが配置されているサーバーは、SSHアクセスを提供する必要があります。

何らかの理由でそれが不可能な場合は、現在手動​​で行っていることを自動化するオプションもあります。

  • linuxから変更されたファイルをコピーするためのシェルスクリプトを記述しますVM Windows上のソースツリーに(WinSCPはあなたの友達です。コマンドラインパラメーターによって自動化できます; PuTTYも使用できます)

  • 次に、このスクリプトを実行した後、Windows PCからコミットできます。

また、他の方向も自動化することを検討します。WindowsからLinux VMに関連ファイルをコピーします。これは、複数のローカルVM環境、たとえば各チームメンバー。

1
Doc Brown