我試圖在本地機器上爲我的本地機器上正在進行的工作設置一個Git repo - 沒有任何遠程任何東西。在Ubuntu上設置本地git存儲庫
我已經安裝了多次遠程回購,但似乎我在本地採取的步驟總是以錯誤結束。
我有2個目錄:/home/rico/project
和/home/git/project_repo
我創建了Git的用戶來管理我所有的git回購(我希望能有幾十個)。
從/home/rico/project
作爲rico
用戶我做了下面的命令:
[email protected]:~/project$ git init
Initialized empty Git repository in /home/rico/project/.git/
從/home/git/project_repo
爲git
用戶我做了以下內容:
[email protected]:~/project_repo$ git --bare init
Initialized empty Git repository in /home/git/project_repo
現在我回到我的項目,並添加文件。
[email protected]:~/project$ git status
# On branch master
#
# Initial commit
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# .project
# .pydevproject
# inc/
# manage.py
# rocksolidbox/
# rsb/
# templates/
[email protected]:~/project$ git add inc media rocksolidbox/ rsb/ templates/
[email protected]:~/project$ git commit -a -m "Initialize the project."
在這一點上我得到正常的提交信息 - 23 files changed, 989 insertions(+)
等
現在,我想這推到project_repo
文件夾。
[email protected]:~/project$ git remote add origin /home/git/rocksolidbox/
[email protected]:~/project$ git push -u /home/git/rocksolidbox/ master
但收到以下錯誤:
Counting objects: 31, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (26/26), done.
error: insufficient permission for adding an object to repository database ./objects
fatal: failed to write object
Writing objects: 100% (31/31), 12.24 KiB, done.
Total 31 (delta 2), reused 0 (delta 0)
error: unpack failed: unpack-objects abnormal exit
To /home/git/project_repo/
! [remote rejected] master -> master (n/a (unpacker error))
error: failed to push some refs to '/home/git/project_repo/'
顯然,這是一個權限錯誤。我試着做推如:
[email protected]:~/project$ git push -u [email protected]:/home/git/rocksolidbox/ master
甚至使用我的本地IP:
[email protected]:~/project$ git push -u [email protected]:/home/git/rocksolidbox/ master
它要求輸入密碼,我知道我提供正確,我不斷地得到消息Permission denied, please try again.
我只是想能夠將我的project
推到我的project_repo
。我在這個設置中做了什麼錯誤?
你期待別人推到你的回購?如果不是,在不同的用戶下製作裸回購沒有意義。一般來說,您所做的模式(擁有自己的用戶和'git'用戶)適用於您不想讓其他人訪問您自己的個人帳戶的團隊環境。如果你這樣做是很重要的,以確保你的用戶在發出命令時保持直線...'rico'只能在非裸回購單上發出命令,'git'只能在裸回購單上發出命令。否則,當您執行推或拉操作時,文件權限_will_會發生變化。 – 2012-10-16 06:37:59
我將與一個團隊合作。那麼,我該如何從'rico @ verbal:〜/ project'推送裸露的回購庫,而不需要在裸回購庫上安裝'777'? – Rico