2013-02-18 74 views
2

我通过在我的mac上作为一个卷传输来挂载一个(FTP)文件夹。它是完全可访问的,我可以通过终端应用程序浏览目录。虚拟卷上的Git初始化

但我不能叫git init没有收到错误消息:

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

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

当我试图通过例如

git remote add origin https://[email protected]/repositoryowner/project.git 

然后我得到错误信息

Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set). 

是连接到其它的一个问题,反正GIT中的文件夹连接起来?而更多的导入,是否有可能初始化虚拟卷上的git存储库?

我正在使用Mac Mountain Lion并通过应用程序传输创建音量槽。

回答

0

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

为了帮助您达到我认为您想要实现的目标:我要猜测您真正想要做的是将FTP服务器上的代码通过远程存储库git推。要做到这一点,请尝试以下从你的主目录或什么地方比安装FTP卷等开始:

mkdir my_ftp_project 
cd my_ftp_project 
git init 
git remote add origin https://[email protected]/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上创建一个新的。

请注意,如果您需要在同一个shell中的其他地方正常使用git,则应该在“完成GIT_DIR”后取消设置。另外,当你回来时,一定要再次设置GIT_DIR,并且希望在这个存储库上运行ftp mount上的更多git命令。