web-dev-qa-db-ja.com

Googleドライブからオンラインで直接プッシュ/プルできますか?

ローカルgitリポジトリをGoogleドライブ同期Windowsアプリケーションを介してGoogleドライブに同期する方法がありますが、その必要性を完全に回避できるかどうか疑問に思っていました。

あちこち.

$ git remote add Origin https://drive.google.com/<my_folder>/<my_repository>.git
$ git Push github master
45
laggingreflex

いいえ、できません。 Googleドライブで実行されているgitはありません。

また、Googleドライブ/ Dropboxベースのソリューションに対して提案し、代わりにgitホスティングソリューションを選択します。たとえば、 Bitbucket は、無料のプライベートリポジトリを提供します。さまざまなgitホスティングサイトに関する比較情報を見つけることができます こちら

人々が指摘しているように(そしてOPは既に知っているように)、ローカルのGoogleドライブ/ Dropboxフォルダー内にベアリポジトリを配置して作業することができますが、注意が必要です。クラウドサービスには、競合をマージするための独自のシステムがあり、実際にはgitでは機能しません。シナリオを検討してください。

  • デバイスAをオフラインで操作し、一部のコミットをGoogleドライブフォルダーのベアリポジトリにプッシュしますが、オフラインであるため、これらの変更はクラウドに同期されません。

  • それを忘れて、オンラインでデバイスBを操作し、Googleドライブフォルダーにコミットをプッシュすると、それらの変更は同期されます。

  • デバイスAがオンラインになります-Googleドライブで競合が発生しました。

もちろんこれは回復可能ですが、不便です。したがって、Gitホスティング用に正確に設計されたソリューションを使用することをお勧めします。

39
1615903

ここに非常に良い記事があります 件名について( ここにアーカイブされたバージョン 、関連する部分はここに再現されています):

以下のようなファイルjohndoeを持つREADMEという名前のプロジェクトがあるとしましょう:

/var/www/html/johndoe/
/var/www/html/johndoe/README

ここで空のGitリポジトリを初期化します。

$ cd /var/www/html/johndoe
$ git init
$ git add README
$ git commit README -m "Initial commit."

ディレクトリをGoogleドライブのある場所に変更し、ベアリポジトリを初期化します。

$ cd /Users/myusername/Google\ Drive/
$ mkdir johndoe
$ cd johndoe
$ git init --bare

作業ディレクトリに戻ります。

$ cd /var/www/html/johndoe
$ git remote add Origin file:///Users/myusername/Google\ Drive/johndoe
$ git Push Origin master

GoogleドライブからGitリポジトリを複製するには:

$ cd /var/www/html/johndoe2
$ git clone file:///Users/myusername/Google\ Drive/johndoe
20
Haralan Dobrev

itDuzzit を使用すると、GoogleドライブとGitHubの間でクラウド間直接同期が提供されます。かなり限られた 無料利用枠 といくつかの有料のものがあります。コードがオープンソースであるか、サードパーティがそれを処理することを気にしない限り、これは実行可能なソリューションになる可能性があります。

2
A.R.

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と入力できます。このmkrステップの後、GitHub、Bitbucketなどに存在するかのように、通常のようにgit Pushを実行できます。リモート側からの通常の機能はありません。

1
bholben

他のバックアップと同様に、Googleドライブに収まるように作業フォルダをアーカイブするだけで済みます。一貫性を保つために、crontabを使用してこれを自動化できます。君は。

0
Spencer