Puis-je pousser / tirer directement depuis mon disque google en ligne?

Il existe des methods pour synchroniser mon repository git local sur mon disque google via l'application windows de synchronisation de Google Drive, mais je me demandais si je pouvais contourner son besoin tout à fait.

Fro par exemple.

$ git remote add origin https://drive.google.com/<my_folder>/<my_repository>.git $ git push github master 

Solutions Collecting From Web of "Puis-je pousser / tirer directement depuis mon disque google en ligne?"

Non, tu ne peux pas. Il n'y a aucun git fonctionnant sur le disque de Google.

Je suggère également contre Google Drive / solutions basées sur Dropbox, et optez pour une solution d'hébergement git à la place. Par exemple Bitbucket qui offre des repositorys privés gratuits. Vous pouvez find des informations de comparaison sur les différents sites d'hébergement git ici .

Comme les gens l'ont souligné (et comme OP le sait déjà), vous pouvez mettre le référentiel nu dans votre dossier local Google Drive / Dropbox et travailler avec, cependant, il y a des mises en garde. Les services de cloud ont leurs propres systèmes de fusion de conflits, et cela ne fonctionne pas vraiment avec git. Considérez le scénario:

  • Vous travaillez avec le périphérique A hors ligne, vous exportez certaines validations vers le référentiel vide dans le dossier Google Drive, mais comme vous êtes hors connection, ces modifications ne sont pas synchronisées avec le cloud.

  • Vous l'oubliez alors, utilisez le périphérique B en ligne, validez les validations dans le dossier Google Drive et ces modifications sont synchronisées.

  • L'appareil A devient en ligne – vous avez maintenant un conflit dans Google Drive.

Ceci est, bien sûr, récupérable, mais incommode. Je recommand donc d'utiliser une solution conçue précisément pour l'hébergement git.

Voici un très bon article sur le sujet ( version archivée ici , avec les parties pertinentes reproduites ici):

Disons que vous avez un projet nommé johndoe avec un file README comme ci-dessous:

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

Initialiser un référentiel Git vide ici:

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

Changez le directory à l'location de votre Google Drive et initialisez un référentiel vide:

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

Retournez dans votre directory de travail:

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

Pour cloner votre référentiel Git depuis Google Drive:

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

Vous pouvez utiliser itDuzzit , qui fournit une synchronisation directe entre le cloud et le cloud entre Google Drive et GitHub. Ils ont un niveau libre assez limité et plusieurs niveaux payants. Tant que votre code est opensource et / ou que cela ne vous dérange pas qu'un tiers le gère, cela pourrait être une solution viable.

Si vous utilisez un shell Unix et que Google Drive est installé localement sur votre ordinateur, vous pouvez append un script à votre file .bash_profile ou .zshrc comme ceci …

 # 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 } 

En supposant que vous avez déjà lancé git init , vous pouvez taper mkr partir de la command line dans votre directory de projet local. Après cette étape de mkr , vous pouvez lancer git push comme d'habitude, comme s'il se trouve sur GitHub, Bitbucket, etc. Vous n'aurez pas les subtilités habituelles du côté distant.

Vous pouvez simplement archiver vos dossiers de travail comme vous le souhaitez sur Google Drive, pour des raisons de cohérence, vous pouvez les automatiser avec crontab ou simplement un simple script à archiver puis download via les outils Google Cli qui fonctionnent le mieux pour toi.

Vous pouvez utiliser l'outil gdrive de prasmussen: https://github.com/prasmussen/gdrive .

Il est disponible pour OSX, Linux et Windows.

Je n'ai pas encore beaucoup utilisé cet outil pour évaluer.