Googleドライブ同期Windowsアプリケーションを介して、ローカルのgitリポジトリをGoogleドライブに同期する方法がありますが、その必要性を完全に回避できるかどうか疑問に思っていました.
例えばから。
$ git remote add origin https://drive.google.com/<my_folder>/<my_repository>.git
$ git push github master
Googleドライブ同期Windowsアプリケーションを介して、ローカルのgitリポジトリをGoogleドライブに同期する方法がありますが、その必要性を完全に回避できるかどうか疑問に思っていました.
例えばから。
$ git remote add origin https://drive.google.com/<my_folder>/<my_repository>.git
$ git push github master
いいえ、できません。Google ドライブで実行されている git はありません。
また、Google ドライブ/Dropbox ベースのソリューションに反対し、代わりに git ホスティング ソリューションを使用することをお勧めします。たとえば、いくつかの無料のプライベート リポジトリを提供するBitbucketです。ここでは、さまざまな git ホスティング サイトに関する比較情報を見つけることができます。
人々が指摘したように (そして OP が既に知っているように)、ベア リポジトリをローカルの Google Drive/Dropbox フォルダ内に配置して操作することができますが、注意点があります。クラウド サービスには競合をマージするための独自のシステムがあり、それは git では実際には機能しません。次のシナリオを検討してください。
デバイス A をオフラインで使用し、いくつかのコミットを Google ドライブ フォルダーのベア リポジトリにプッシュしますが、オフラインであるため、それらの変更はクラウドに同期されません。
次に、それを忘れて、デバイス B をオンラインで操作し、コミットを Google ドライブ フォルダーにプッシュすると、それらの変更が同期されます。
デバイス A がオンラインになり、Google ドライブで競合が発生します。
もちろん、これは回復可能ですが、不便です。したがって、git ホスティング専用に設計されたソリューションを使用することをお勧めします。
Unix シェルを実行していて、Google ドライブがマシンにローカルにインストールされている場合は、次のように .bash_profile または .zshrc ファイルにスクリプトを追加できます...
# Initialize a remote repo on "local" Google Drive and push to it for safekeeping.
function mkr() {
CWD=$(PWD)
REPONAME=${PWD##*/}
REPOPATH=/Users/Bob/Google\ Drive/Repos/$REPONAME
mkdir -p $REPOPATH
cd $REPOPATH
git init --bare
cd $CWD
git remote add origin $REPOPATH
git push origin master
}
を既に実行していると仮定すると、ローカル プロジェクト ディレクトリ内のコマンド ラインから入力git init
できます。mkr
このステップの後、GitHub や Bitbucket などに存在するかのように通常どおりにmkr
実行できます。リモート側からの通常の機能はありません。git push