我有一台旧的Synology DS-106j服务器,我尝试使用ipkg命令安装git。安装顺利,但git无法正常工作。我目前正在学习如何使用git,所以我不知道git是否是我正在使用的版本或其他错误的错误。
我所做的是创建一个具有指定名称的新本地存储库,添加一个新文件,提交它并收到错误:
NAS_SERVER> git init Test
Initialized empty Git repository in /root/Test/.git/
NAS_SERVER> ls
Packages.gz git_1.8.4.2-1_powerpc.ipk
Test
NAS_SERVER> cd Test
NAS_SERVER> git status
# On branch master
#
# Initial commit
#
nothing to commit (create/copy files and use "git add" to track)
NAS_SERVER> touch Test.cs
NAS_SERVER> ls
Test.cs
NAS_SERVER> git add *
NAS_SERVER> git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
# (use "git rm --cached <file>..." to unstage)
#
# new file: Test.cs
#
NAS_SERVER> git commit -m "Test"
fatal: 57e2b8c52efba71d84c56bf6f37581686b9061a3 is not a valid object
我想......也许我做错了什么,所以我在Windows操作系统上使用git并尝试推送。仍然是一个错误。将整个存储库传输到服务器并检查状态。看起来很好。尝试提交。结果仍然相同。更糟糕的是,我无法在不编译的情况下更新git版本,我甚至不知道如何编译它。对可能出错的任何建议?
答案 0 :(得分:1)
如果你的目标是推入位于synology磁盘上的git repo用于备份目的,我建议采用不同的方法,避免在synology盒本身上安装一个相当旧的git版本(可能如果/当在Windows机器上使用更新的git版本时会导致问题。)
从synology导出samba共享,将其挂载到Windows上并使用windows git创建备份仓库(甚至可能是一个裸仓库,如果您打算与其他人共享工作,最终可以共享组)。然后从您的工作仓库推送到此备份仓库 - 所有这些都在Windows框中。在这种情况下,synology框不需要安装git,它只提供文件(即它的原始作业)。
我正在使用这样的设置,但是使用linux机器而不是windows机器,并且通过NFS而不是Samba导出的synology磁盘上使用裸机。