Mef*_*ico 5 git shared-directory
我见过的SE这个问题,这个其他的超级用户问题,这和上AskUbuntu问题,但他们似乎边踩我的情况。
我在 Windows 上托管了一个共享文件夹。我在--bare那里创建了一个 git repo(带选项)来启动一个项目。
在带有 Windows 的本地文件夹中,我设法使用以下命令克隆了 repo:
git clone \\<ip address>\shared_folder_name\name_of_folder_with_git_repo
而且我可以正常推动。
然后在 linux 上,我成功地克隆了它:
git clone ~/.gvfs/smb-share:server=<ip address>,share=shared_folder_name/name_of_folder_with_git_repo
Run Code Online (Sandbox Code Playgroud)
看起来不错,但我无法从 linux 推送。显示的错误消息是:
remote: error: object directory /home/my_username/.gvfs/smb-share does not exist; check .git/objects/info/alternates.
remote: error: object directory server=<ip address>,share=shared_folder_name/name_of_folder_with_git_repo does not exist; check .git/objects/info/alternates.
remote: error: object directory /home/my_username/.gvfs/smb-share does not exist; check .git/objects/info/alternates.
remote: error: object directory server=<ip address>,share=shared_folder_name/name_of_folder_with_git_repo does not exist; check .git/objects/info/alternates.
remote: error: object directory refs/heads/master does not point to a valid object!
remote: fatal: bad object HEAD
error: object directory /home/my_username/.gvfs/smb-share does not exist; check .git/objects/info/alternates.
error: object directory server=<ip address>,share=shared_folder_name/name_of_folder_with_git_repo does not exist; check .git/objects/info/alternates.
error: object directory refs/heads/master does not point to a valid object!
fatal: bad object HEAD
To /home/my_username/.gvfs/smb-share:server=<ip address>,share=shared_folder_name/name_of_folder_with_git_repo
! [remote rejected] master -> master (missing necessary objects)
error: failed to push some refs to '/home/my_username/.gvfs/smb-share:server=<ip address>,share=shared_folder_name/name_of_folder_with_git_repo'
Run Code Online (Sandbox Code Playgroud)
在远程存储库中, .git/objects/info/ 是一个空文件夹。
我试过添加不同的遥控器,但无济于事。我希望 smb 助手的缺乏不会成为问题,否则我将无法进行克隆。
我需要找到一种方法能够相对正常地推送到此共享文件夹上的 repo,最好不需要重复使用 sudo。
一般来说,我不会使用 gvfs-fuse 功能来托管或克隆存储库。它在过去提供了一些奇怪的、非 POSIX 的行为,并且它的某些内容导致了这里的失败。通过 MTP 将一些文件传输到 Android 手机可能没问题,但对于像 Git 这样对文件系统一致性要求严格的东西来说,它不够强大。
您最好使用cifsLinux 内置的文件系统(如您链接的 AskUbuntu 答案中所述)或在 Windows 计算机上托管 SSH 服务器并以这种方式推送。
请注意,有问题的不是 FUSE 文件系统,而是 gvfs-fuse;sshfs 非常适合此目的并且非常强大。
| 归档时间: |
|
| 查看次数: |
151 次 |
| 最近记录: |