簡體   English   中英

在Ubuntu上設置本地git存儲庫

[英]Setting up a local git repository on Ubuntu

我正在嘗試在本地計算機上設置一個Git存儲庫,以便在本地計算機上完成工作-沒有遠程操作。

我已經多次設置了遠程存儲庫,但是我在本地執行的步驟似乎總是會出錯。

我有2個目錄: /home/rico/project/home/git/project_repo

我創建了git用戶來管理我所有的git倉庫(我希望有幾十個)。

/home/rico/projectrico用戶身份執行以下命令:

rico@verbal:~/project$ git init
Initialized empty Git repository in /home/rico/project/.git/

/home/git/project_repo作為git用戶,我執行以下操作:

git@verbal:~/project_repo$ git --bare init
Initialized empty Git repository in /home/git/project_repo

現在,我回到我的項目並添加文件。

rico@verbal:~/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/
rico@verbal:~/project$ git add inc media rocksolidbox/ rsb/ templates/
rico@verbal:~/project$ git commit -a -m "Initialize the project."

這時我得到正常的提交消息- 23 files changed, 989 insertions(+)等。

現在,我想將其推送到project_repo文件夾。

rico@verbal:~/project$ git remote add origin /home/git/rocksolidbox/
rico@verbal:~/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/'

顯然,這是一個權限錯誤。 我試圖做這樣的推:

rico@verbal:~/project$ git push -u git@verbal:/home/git/rocksolidbox/ master

甚至使用我的本地IP:

rico@verbal:~/project$ git push -u git@192.168.1.101:/home/git/rocksolidbox/ master

它要求輸入密碼,我知道我提供的密碼正確,並且不斷收到消息“ Permission denied, please try again.

我只希望能夠將我的project推送到我的project_repo 在此設置中我在做什么錯?

不要做所有花哨的權限操作。 你想要乙醇鈉

好的,我已經找到解決權限問題的方法。 基本上做到這一點:

git@verbal:~/$ chmod -R 777 project_repo

然后,我可以在project執行以下命令:

rico@verbal:~/project$ git remote add origin /home/git/project_repo/
rico@verbal:~/project$ git push -u /home/git/project_repo/ master

然后要將項目克隆到其他地方,只需執行以下操作:

rico@verbal:~/some_other_location$ git clone /home/git/project_repo

而且你很黃金。

現在,我的問題仍然存在……這是處理權限問題的最佳方法嗎? 我真的不喜歡給任何東西提供777的想法。 我應該把gitrico放在同一個組中,而不是做775嗎?

有什么建議么?

編輯1:將gitrico放在同一組中並執行775並沒有幫助。 它在777可以正常工作,但我不喜歡這種解決方案。

我被困在同一點。 到目前為止,“出了點問題”不是很有幫助。 在比較了幾十個標題為“ howtos”的“小菜一碟”之后,我找出了主要問題。 大多數示例在同一主機上具有客戶端和服務器。 那不是我想要的 在編輯〜/ .ssh / config后,如下所示的方式像一個超級按鈕一樣起作用。

在此示例中,服務器主機稱為gitolite ,用於在服務器上安裝gitolite的特殊帳戶稱為git ,客戶端上的用戶名為harrie ,/ home / harrie / .ssh中的密鑰對由“ ssh- keygen-t rsa -f harrie”。

的〜/ .ssh /配置

Host gitolite
        User git
        Hostname gitolite
        Port 22
        IdentityFile ~/.ssh/harrie

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM