【发布时间】:2015-08-19 17:45:59
【问题描述】:
我第一次尝试使用 git,以便在工作中的 Windows 计算机和家中的 Linux 计算机之间传输我目前正在编写的学士论文。因为我没有服务器,所以我想使用 U 盘来存储共享存储库。从这个question我明白这应该是可能的。
在 Windows 系统上,我在 U 盘上创建了一个工作存储库和远程存储库,并将工作目录推送到 U 盘。这似乎工作正常。
在 Linux 系统上,我克隆了存储库,进行了一些更改,添加并提交了它们。到目前为止,一切似乎都运行良好。但是当我尝试将更改推送回 U 盘时,我收到以下错误消息:
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 264 bytes | 0 bytes/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote: error: unable to create temporary file: Operation not permitted
remote: fatal: failed to write object
error: unpack failed: unpack-objects abnormal exit
To /media/usb-stick-sta/git/bachelor
! [remote rejected] master -> master (unpacker error)
error: failed to push some refs to '/media/usb-stick-sta/git/bachelor'
在/etc/fstab 中,我使用以下选项挂载USB 记忆棒:noauto,user,uid=1000,gid=1000 所以我拥有所有文件,并且我已经使用ls -l 验证确实是这种情况。
只是为了确保我也尝试在该目录中创建一个文件并再次删除它,没有任何问题。
另一个 stackoverflow 问题的答案(不幸的是我找不到它了)建议在远程存储库上执行 chmod -R g+ws *。它导致了许多错误消息,例如(与我是以文件所有者还是以 root 身份执行此操作无关):
chmod: changing permissions of ‘config’: Operation not permitted
进一步的研究发现这些文件可能是不可变的,所以我尝试了chattr -i * 导致如下消息:
chattr: Inappropriate ioctl for device while reading flags on config
进一步阅读,我发现并非所有文件系统都支持这些属性。 U 盘已格式化为 FAT。
任何帮助将不胜感激。 提前致谢。
【问题讨论】:
-
为什么不将其存储在私人服务器上?例如,Bitbucket 允许这样做。
-
@Bartlomiej Lewandowski 不幸的是,我目前居住的公寓的互联网连接不可靠。而且我不确定我写单身汉的公司是否允许我使用这样的服务。我不熟悉这样的法律内容。事情有点复杂,因为我正在做双重研究(不确定英语术语)......
-
@BartlomiejLewandowski 我的导师建议我使用捆绑包,因为我告诉他我在使用这种方法时遇到了问题。但这似乎不像简单的推动那么舒服。我仍然想知道出了什么问题。无论如何,谢谢你的提示。
-
你使用什么 Linux 发行版?
-
@axiac 我正在使用 Debian(不确定确切的版本,我目前正在工作,所以我无法查找,但我认为是 jessie,如果重要的话,桌面环境是肉桂)
标签: linux windows git usb-drive