如何在google drive上使用git with?

5ssjco0h  于 2023-02-02  发布在  Git
关注(0)|答案(2)|浏览(154)

我花了15个多小时来排除git的故障,但没有成功。
在过去的6个月里,我一直使用google drive(G:/)作为我的本地git repo。我的github个人访问令牌过期了,在更新它之后(不幸的是,经过了大量的故障排除,重新安装了git,rstudio和R),git不再与google drive一起工作。我想我在排除github PAT故障的时候,在我的电脑上搞砸了一些git。
我已经推断出我的问题与github、R或Rstudio无关,而是git的问题。虽然我可以使用git init在C:/上的任何地方初始化新的repo,但我不能在G:/中的任何地方初始化空白repo(我也不能从github或C:/克隆)。我已经在G:/My drive、git init "G:/My Drive"git init G:/My\ Drive中尝试了git init。所有这些都返回错误:fatal: bad config line 3 in file G:/My Drive/np/.git/configpic)。当我重新运行git init时,如果我删除.git/config并运行git init,我会得到同样的错误。
当我在G:/中使用git init时,git./中的所有文件(例如.git/config.git/description.git/HEAD)都被我电脑上其他文件(通常是csv文件)的随机内容破坏了。
git config --global -l返回以下内容:

$ git config --global -l
diff.astextplain.textconv=astextplain
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
http.sslbackend=openssl
http.sslcainfo=D:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
core.autocrlf=true
core.fscache=true
core.symlinks=false
core.fsmonitor=true
pull.rebase=false
credential.helper=manager-core
credential.https://dev.azure.com.usehttppath=true
init.defaultbranch=master

我读过一些stackoverflow问题,你不应该使用google drive(或任何云存储)来git,因为他们把每个文件都分开处理,而不是把repo作为一个整体(像git那样)。然而,我的整个工作流程和文件管理都是通过drive进行的,而且我的大部分工作都是单独进行的,所以我更喜欢把我所有的工作集中在Drive中。

xlpyo6sf

xlpyo6sf1#

您不应该将存储库存储在Google云端硬盘或其他云同步服务上。Git会按照指定的同步顺序将文件写入存储库,以确保存储库处于一致状态,而云同步服务不会以相同的方式同步数据。
你可能更喜欢使用Google Drive,但如果你在其中存储了Git存储库,它最终几乎肯定会损坏你的存储库。如果你不喜欢损坏数据,那么你应该避免在存储库中使用Google Drive。Git FAQ将在某个时候更新,明确提到这一点,我强烈建议你注意。
如果需要的话,可以使用云同步服务来存储一个bundle文件(使用git bundle创建)或者存储库的一个归档文件(最好是tar,而不是zip)。注意,如果你在归档文件中包含了工作树,你不应该与其他人共享存储库,因为在多个用户之间共享一个工作树是不安全的。

rseugnpd

rseugnpd2#

共享Google云端硬盘托管Git项目
第1步share从Google云端硬盘中使用项目协作者创建Git存储库文件夹。
**每个合作者应:**第2步:下载并安装Google Drive for desktop,并确保Git已安装在他们的系统上。
第3步Sync将共享的Git项目文件夹添加到本地Google Drive。
第4步:在新文件夹中打开命令行界面并执行Git clone命令以克隆共享项目。

git克隆路径到谷歌驱动器同步文件夹/任意子文件夹路径/项目名称. git

第5步:为共享项目配置Git远程。

git远程添加远程名称路径到谷歌驱动器同步文件夹/任何子文件夹路径/项目名称. git

第6步:将项目更改推送到远程设备或从远程设备提取项目更改...更改将与Google云端硬盘同步。示例:

git推送gdrive主机

相关问题