2015-04-29 77 views
0

我有一臺舊的Synology DS-106j服務器,我嘗試使用ipkg命令安裝git。安裝順利,但git無法正常工作。我目前正在學習如何使用git,所以我不知道它是否與我使用的版本或其他錯誤的git有關。我的git 1.8.4.2-1有什麼問題?

我所做的就是創建一個指定名稱的新本地資源庫,添加新的文件,提交,並得到了一個錯誤:

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

你也有其他錯誤嗎? (例如[在[這個問題]中)(http://stackoverflow.com/questions/15308197/git-commit-fatal-error)) –

+0

不是......那是它的結尾。 –

回答

1

如果你的目標是推入位於Synology磁盤上的git倉庫以備份目的,我建議採用不同的方法,以避免在Synology盒本身安裝一個相當老的git版本如果/在Windows機器上使用較新的git版本,可能會導致問題)。

從Synology中導出samba共享,在Windows上掛載它,並使用windows git創建備份回購(如果您打算與其他人共享工作,最終可以共享最終的組)。然後從你的工作倉庫推入這個備份倉庫 - 所有的窗口框。在這種情況下,Synology框不需要安裝git,它只是提供文件(即其原始作業)。

我正在使用這樣的設置,但使用linux機器而不是windows,而通過NFS而不是Samba導出的Synology磁盤上的裸回購。

+0

再一次,我對git還不是很熟悉,但我想要的是在Synology服務器上有一個git repo,所以它可以由本地網絡之外的其他用戶通過SSH共享。我認爲只要有一個共享文件夾並通過SSH訪問該文件夾即可進行更新,但並未達到此目的。如果我錯了,請糾正我。 –

+0

對於外部訪問,您需要在重定向到提供數據的計算機的路由器上打開一個SSH端口。它可以是網絡中的任何一臺機器,不僅是Synology盒子。 Synology提供的唯一優勢是它始終處於開啓狀態,使用另一臺機器時需要將機器啓動,並且每當需要外部訪問時(或始終保持此狀態)。 –

+0

我終於明白你的答案了。在Google上搜索更多信息後,我可以設置您之前推薦的內容。我主要需要:(1)啓用WebDAV,(2)創建裸存儲庫,(3)將其複製到Synology磁盤,(4)使用NetDrive遠程訪問存儲庫,(5)從中克隆存儲庫,以及6)對存儲庫提交新的更改並將其推回到Synology磁盤。 –