Могу ли я нажимать/вытаскивать прямо со своего диска Google?

Существуют методы синхронизации моего локального репозитория git с моим приводом Google через приложение Windows для синхронизации с приложением Google, но мне было интересно, могу ли я вообще обойти его потребность.

Fro, например.

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

Ответ 1

Нет, вы не можете. В драйвере Google нет git.

Я также предлагаю использовать решения на основе Google Drive/Dropbox и вместо этого использовать хостинг-решение git. Например Bitbucket, который предлагает некоторые бесплатные частные репозитории. Вы можете найти сравнительную информацию о различных сайтах git хостинга здесь.

Как указывали люди (и, как уже известно OP), вы можете поместить голый репозиторий в свою локальную папку Google Диска /Dropbox и работать с ним, однако есть оговорки. Облачные службы имеют свои собственные системы для слияния конфликтов, и это не работает с git. Рассмотрим сценарий:

  • Вы работаете с устройством в автономном режиме, нажимаете некоторые коммиты в голый репозиторий в папке Google Диска, но поскольку вы в автономном режиме, эти изменения не синхронизируются с облаком.

  • Затем вы забыли об этом, работайте с устройством B онлайн, нажмите, чтобы перейти в папку Google Диска, и эти изменения синхронизируются.

  • Устройство A становится онлайн - теперь у вас есть конфликт на Google Диске.

Это, конечно, восстанавливается, но неудобно. Поэтому я рекомендую использовать решение, предназначенное именно для хостинга git.

Ответ 2

Вот очень хорошая статья на эту тему (архивная версия здесь, с соответствующими частями, воспроизведенными здесь):

Допустим, у вас есть проект с именем 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

Чтобы клонировать свой репозиторий Git с Google Диска:

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

Ответ 3

Вы можете использовать itDuzzit, они обеспечивают прямую синхронизацию между облаками между Google Диском и GitHub. У них довольно ограниченный свободный уровень и несколько платных. Пока ваш код является открытым исходным кодом и/или вы не возражаете против его обработки третьим лицом, это может быть жизнеспособным решением.

Ответ 4

Если вы используете оболочку Unix и локально установлен на Google Диске на своем компьютере, вы можете добавить script в ваш .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 вы можете запустить git push как обычно, как если бы он жил на GitHub, Bitbucket и т.д. У вас просто не будет обычных тонкостей с удаленной стороны.

Ответ 5

Вы могли бы просто архивировать свои рабочие папки так, как вы считаете нужным на Google Диске, как и любая другая резервная копия, для обеспечения согласованности вы можете автоматизировать это с помощью crontab или просто простого script для архивации, а затем загрузить через Google Drive cli инструменты, которые лучше всего подходят для вас.

Ответ 6

У Эдуардо Росаса есть статья article! о том, как сделать это с помощью colab (требуется только браузер). по сути, вы получаете доступ к своему диску Google, используя:

from google.colab import drive
drive.mount('/content/gdrive')
#cd to the google drive you using the magic command
%cd /content/gdrive/'My Drive'/[your drive folder for repo]
#check your directory location with
!pwd
#clone your repo - Note this exposes your password so don't make the notebook public
!git clone https://LaloCo:password%[email protected]/LaloCo/handson-ml.git
#I find using a github personal access token easier
!git clone https://user:[email protected]/repo

Ответ 7

Вы можете использовать инструмент prasmussen gdrive: https://github.com/prasmussen/gdrive.

Он доступен для OSX, Linux и Windows.

Я еще не использовал этот инструмент для оценки.