【问题标题】:Git init on a virtual volume虚拟卷上的 Git init
【发布时间】:2013-02-18 23:13:01
【问题描述】:

我在我的 Mac 上通过 Transmit 安装了一个 (FTP) 文件夹作为一个卷。它是完全可访问的,我可以使用终端应用程序浏览目录。

但是我不能在没有收到错误消息的情况下拨打git init

/Volumes/FTPVolume/doc/.git: No such file or directory

.git 文件夹应通过此调用创建,因此错误消息对我来说没有多大意义。我可以通过这个调用在我的本地卷上设置一个 git 存储库。

当我尝试通过例如将文件夹连接到 git 时

git remote add origin https://username@bitbucket.org/repositoryowner/project.git

然后我收到错误消息

Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).

一个问题与另一个问题有关吗?更重要的是,是否可以在虚拟卷上初始化一个 git 存储库?

我正在开发 Mac Mountain Lion,并通过应用 Transmit 创建音量。

【问题讨论】:

    标签: git ftp osx-mountain-lion


    【解决方案1】:

    您描述的症状表明您没有对 FTP 挂载的写入权限,或者该挂载不支持 git 用于管理文件/目录的文件系统挂钩。第二个错误虽然听起来很神秘,但只是意味着“git remote”命令也找不到 .git 文件夹。造成具体错误的原因是当 git 在当前目录中没有找到它时,它会向上遍历并检查所有父目录,直到找到文件系统边界。所以这应该可以帮助您理解错误。

    为了帮助您到达我认为您正在尝试的地方:我猜您真正想要做的是通过 git 将 FTP 服务器上的代码获取到您的远程存储库中推。为此,请从您的主目录或已挂载的 FTP 卷以外的其他位置尝试以下操作:

    mkdir my_ftp_project
    cd my_ftp_project
    git init
    git remote add origin https://username@bitbucket.org/repositoryowner/project.git
    export GIT_DIR=`pwd`/.git/
    cd /Volumes/FTPVolume/doc/
    git add .
    git commit -m "Initial commit"
    git push
    

    这里的关键是使用“GIT_DIR”环境变量将 git 指向一个工作存储库。与其尝试在 ftp 服务器上创建 git 存储库(无论如何我认为这是一个坏主意),上述方法将在您的主文件夹中的 HD 上创建存储库,然后将 git 指向该存储库而不是拥有它尝试在 ftp 上创建一个新的。

    请注意,您应该在完成后“取消设置 GIT_DIR”,以防您需要在同一个 shell 的其他地方正常使用 git。另外,当您回来并想在 ftp 挂载上针对此存储库运行更多 git 命令时,请务必再次设置 GIT_DIR。

    【讨论】:

      猜你喜欢
      • 2018-10-20
      • 2022-01-13
      • 2020-11-11
      • 1970-01-01
      • 2015-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-12
      相关资源
      最近更新 更多