我正在做一個簡單的git init C:\XXX
從我的主機運行到另一個從機上執行。 C:\XXX
是奴隸的路徑。假設它會創建一個非裸存儲庫,因爲我沒有提供--bare
選項。我還查看了系統,從機中的全局配置設置,並特別設置了這些選項中的bare = false
選項。但即使在運行git init
後,我可以看到本地配置爲bare = true
。GIT INIT沒有創建工作樹
默認情況下,init命令從哪裏獲取裸設置?
我正在做一個簡單的git init C:\XXX
從我的主機運行到另一個從機上執行。 C:\XXX
是奴隸的路徑。假設它會創建一個非裸存儲庫,因爲我沒有提供--bare
選項。我還查看了系統,從機中的全局配置設置,並特別設置了這些選項中的bare = false
選項。但即使在運行git init
後,我可以看到本地配置爲bare = true
。GIT INIT沒有創建工作樹
默認情況下,init命令從哪裏獲取裸設置?
當您在主機上運行git init <path>
時,Git應用程序將在主服務器上運行。它使用該機器的全局配置,你可能有bare=true
。
爲了解決這個問題,你可以使用這些選項之一:
git init <path>
.git
複製到所選路徑上的奴隸。這給你一個選擇使用調整的存儲庫。例如。你可以添加git鉤子。解決了!它以某種方式與我創建的奴隸機器有關。我更新了大量的配置文件,使bare = false並可能搞砸了一些東西。所以我刪除了奴隸並創建了另一個奴隸,並使用了我需要的slave.jar來啓動新的奴隸。 –
謝謝大家的反饋。尼克 - > git init正在奴隸機器上運行,因爲jenkins工作在奴隸上運行,它也使用奴隸git,因爲我提供了奴隸git路徑的工具位置 –
@ARUNNAIR哦,我明白了。你介意我是否重寫我的答案以包含你的解決方案? –
我不清楚主機和從機的角色在這裏。 'C:\ XXX'是否都可以訪問?兩臺機器有不同的系統或全局設置嗎? (例如,如果您在機器A上運行'git init C:\ XXX',那麼只有A的配置文件中的設置很重要。) – chepner
我將此jenkins作業配置爲在從機上運行。該作業有一系列使用從屬工作區目錄的git命令。 C:\ XXX是從站中的工作空間目錄。當jenkins執行git init命令時,它創建一個裸倉庫。我試圖在init之前顯示git config --list,並且沒有裸設置設置爲true,但是在init命令之後我做了同樣的事情,並且我看到一個bare = true條目。我也嘗試從slave機器命令提示符直接執行這些命令,它確實創建了一個非裸存儲庫 –
主機上'bare'的全局設置是什麼? –