我可以直接从我的谷歌驱动器在线推/拉吗?

问题描述:

有方法通过谷歌驱动器同步Windows应用程序同步我的本地git仓库到我的谷歌驱动器,但我想知道我是否可以完全绕过它的需要。我可以直接从我的谷歌驱动器在线推/拉吗?

例如,

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

我创建了这样的工具....需要更多的GIT服务器的东西。 – Michael 2015-12-15 17:33:26

不,你不行。 Google驱动器上没有运行git。

我也建议对谷歌驱动器/基于Dropbox的解决方案,并去托管解决方案,而不是一个饭桶。例如Bitbucket,它提供了一些免费的私人存储库。你可以找到一些关于不同的git托管网站here的比较信息。

正如人指出(和OP已经知道),你可以把纯仓库本地谷歌驱动器/ Dropbox的文件夹内,并与工作,但是,也有注意事项。云服务有自己的系统来合并冲突,这并不真正与Git协同工作。考虑场景:

  • 您与设备工作离线,推动一些提交在谷歌云端硬盘文件夹中的裸库,但因为你是离线的,这些更改不会同步到云端。

  • 然后忘掉它,用设备B联机工作,推动承诺谷歌云端硬盘文件夹,以及这些变化确实会同步。

  • 设备A变成在线 - 你现在在谷歌云端硬盘中的冲突。

这当然是可以恢复的,但是不方便。因此,我建议使用专为git托管而设计的解决方案。

+3

这是可能的,检查其他答案,接受的答案应该改变。 – 2014-05-25 11:07:56

+0

@AmrLotfy OP想要的方式是不可能的。在Google驱动器文件夹中拥有裸回购并不是他所要求的。 – 1615903 2014-05-27 16:32:53

+1

@ user1615903'我也建议不要使用基于Google Drive/Dropbox的解决方案'为什么这样? – 2014-07-08 06:17:09

你可以使用itDuzzit,他们提供的谷歌驱动器和GitHub上的直接云到云同步。他们有一个相当有限的free tier和几个付费的。只要你的代码是开源的,或者你不介意处理它的第三方,这可能是一个可行的解决方案。

+1

现在停用:http://cloud.itduzzit。com/ – 2016-09-08 03:03:06

关于这个问题Here is a very good articlearchived version here,在这里转载的相关部分):

比方说你有一个与文件README名为johndoe像下面的项目:

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

初始化一个空Git repository here:

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

目录更改到您的谷歌驱动器所在的位置和初始化一个纯仓库:

$ 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仓库:

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

FWIW这只适用于Windows。 – refi64 2016-09-19 18:02:08

+0

链接的文章是404'ing。 – 2017-05-16 15:48:03

+1

@Michael存档[这里](https://web.archive.org/web/20161204062829/http://kahthong.com/2012/05/how-use-google-drive-or-dropbox-host-your-私人git-repository) – user1712447 2017-06-07 23:06:51

如果您正在运行Unix shell并在您的计算机上安装了本地安装的Google Drive,则可以将脚本添加到.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等一样。您不会从远程端获得通常的细节。

您可以使用prasmussen的gdrive工具:https://github.com/prasmussen/gdrive

它适用于OSX,Linux和Windows。

我还没有使用这个工具相当大的评分。

您可以简单地将您的工作文件夹按照您认为合适的方式存档在Google云端硬盘中,就像其他任何备份一样,为了保持一致性,您可以使用crontab自动执行此操作,或者使用简单的脚本进行存档,然后通过Google Drive cli工具上传最适合你的工作。

+0

OP想用git界面来访问谷歌驱动器,你的建议与他的需求无关。 – 2017-12-02 22:42:39

+0

适用过去式。用户可以发布查询来支持,直到点击满意的Google云端硬盘集成。 – Spencer 2017-12-03 16:31:52