在虚拟卷上使用Git init

时间:2013-02-18 23:13:01

标签: git ftp osx-mountain-lion

我在我的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并通过应用程序传输创建音量。

1 个答案:

答案 0 :(得分:0)

您描述的症状表明您没有对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 mount上针对这个存储库运行更多git命令时,请务必再次设置GIT_DIR。