我已經把我的git的工作結構如下(由於建議在另一個問題git : Small project work)git的鉤權限問題
/live/website
|
|
/path/to/staging (bare)
| |
| |
dev1 dev2
目前,無論DEV1和DEV2,推動項目的/path/to/staging repo
。我在/ path/to/staging中有一個鉤子,它會自動從我的/ live /網站觸發git pull
。這樣,我有一個文件的工作副本。
另外/path/to/staging (bare)
被初始化爲share = 0777,所以我知道這個份額不是問題。此外,我已將所有文件CHMODED到777並設置棒位。
我創建了/ live /網站回購爲user : root
。不過,我在dev1中創建了回購作爲user : dev1
。我可以在DEV1微調,但是當我嘗試從DEV1推回購,這是我所面臨的問題:
error: Couldn't set refs/remotes/origin/master
From /path/to/staging
! 8b4fddc2 .. e2a0b21 master -> origin/master (unable to update local ref)
To path/to/staging
8c5fddc2 .. e2a0b21 master -> master
基本上,我沒有看到文件,成功地轉移到/現場/網站。我認爲這個問題是由於我執行的代碼爲user : dev1
。但是,當我瀏覽到/live/websit
e並手動執行git pull
作爲user : root
時,它成功地取消了由dev1所做的更改並更改了工作文件。
有人可以推薦如果有辦法解決這個問題嗎?因爲它擊敗了自動掛鉤的目的...
別的東西,我認爲做的是鉤,我想改變用戶的:
su root
password
然而,在執行時,我不要以爲我在提示符處輸入密碼,因爲我收到錯誤消息是:
hooks/post-receive: line 18: password: command not found
編輯,
另外,有人可以建議一種方式從推回去?並獲得以前的文件狀態?
Rudi:我看着那個文件,它說,我只能通過做sudo visudo來修改。但是,當我嘗試執行該命令時:`sudo:visudo:command not found`。所以編輯是我遇到的問題。就git目錄結構而言,你知道爲什麼我在執行pull時遇到問題嗎?我的意思是,`/ live/website`是一個共享庫。我保證,我通過做`git repo-config core來做到這一點。sharedRepository true` – g1t 2010-12-09 08:26:59