2013-02-19 36 views
38

我越來越想設置全局配置時,這個錯誤:無法設置的git我的GitHub帳號錯誤:無法鎖定配置文件

$ git config --global user.name "Your Name Here" 
error: could not lock config file /pathto/file/.gitconfig: No such file or directory 

和文件的.gitconfig已經存在,人有有任何想法嗎??

+0

哪個OS這是? (看起來Git無法正確解析你的$ HOME或$ USER?或者你自己把那個「username」放在那裏?) – 2013-02-19 14:42:46

+0

你對'.gitconfig'有正確的權限嗎? – CharlesB 2013-02-19 14:54:55

+1

-rw-rw-r-- 1 .gitconfig – codepros 2013-02-19 15:07:02

回答

14

當gitconfig存在鎖定文件時,我得到了這個錯誤。嘗試並找到並刪除.gitconfig.lock(在我的Linux機器上,它在我的主目錄)

+1

類似於這裏 - 我的.git目錄中有一個「config.lock」文件。我將它重新命名爲「config」。不知道是什麼導致它鎖定,我只是做正常的分支/推/拉。編輯:可能是因爲我使用Git bash旁邊的Visual Studio混帳插件... – Lyall 2013-11-26 16:09:11

+0

不得不刪除'../。git/svn/.metadata.lock'。看起來像任何'.lock'文件可能會導致問題。 – 2016-12-14 12:28:20

7

Windows用戶:確保環境變量是正確的設置。

我對我的帳戶的用戶名 '回形針' 以下內容:

My Computer (right-click) > Properties > Advanced (tab) > Environment Variables (under System Variables)

HOME -> %HOMEPATH%

HOMEPATH -> C:\Documents and Settings\paperclip

好像Git的無法解析/擴展%HOME%%HOMEPATH%就像你期望的那樣。相反,我需要通過將其更改爲使%HOME%一樣%HOMEPATH%

HOME -> C:\Documents and Settings\paperclip

+2

我不認爲你需要這樣做。您可以簡單地從環境變量中刪除家庭,它將起作用。 – 2014-12-01 18:10:57

+0

我的情況與此類似。我創建了一個可變的家庭,在我的用戶名中拼寫錯誤。我重新安裝了git幾次,但沒有幫助。我甚至無法保存任何配置。最後,看到這個答案,我刪除了變量home,並且一切都很好。 – 2016-04-03 11:21:34

+0

我有同樣的問題 - TortoiseGit無法解決「雙重間接」'%HOME% - >%USEPROFILE% - > C:\ Users \ andre',並且不得不直接設置'%HOME%= C:\ Users \ andre'。 – Andre 2017-12-22 11:33:53

1

我有「經驗」這在Windows錯誤,因爲我的名字(因此%HOMEPATH%)包含非ASCII字符(é)。無論是git或cmd.exe或其他任何東西都無法應對這一點。

8

只是做以管理員身份運行.......你需要在運行在Windows管理員模式下運行程序

+0

我有同樣的問題,當我以管理員身份運行gitbash問題解決 – 2015-01-09 00:35:13

17

檢查,如果你有一個.git目錄在你的主文件夾,如果你不「T:

的mkdir〜/ git的

解決了我的情況的問題。

0

對我來說,問題不在於git config,但在我當前的repo中的.git目錄是由root創建的,我正在嘗試與其他用戶進行一些操作。我改變了燙髮

3

在Windows中: 右鍵單擊「Git Bash」圖標 - >以管理員身份運行。 它幫助了我。

Git嘗試在磁盤C上創建一個配置文件:/但它沒有權限這麼做。

+0

運行git bash作爲管理員爲我工作。 – 2016-10-06 22:23:14

+0

謝謝。以管理員身份運行命令提示符爲我工作。然而,我不明白爲什麼這個額外的步驟,當我正在使用的用戶已經是一個管理員。 – ITWitch 2017-04-23 16:47:53

4

如果用戶主目錄不能被用戶寫入,則會發生這種情況。 git config --global需要在用戶主目錄中創建一個「鎖定」文件(~/.gitconfig.lock)。

檢查權限並嘗試創建一個。

# cat ~/.gitconfig.lock 
cat: /home/users/developer/.gitconfig.lock: No such file or directory 
# touch ~/.gitconfig.lock 

如果成功,你必須刪除此文件

如果沒有 - 你必須檢查和更改權限主目錄!

+0

謝謝我有重新配置的問題,它不會把我的命令當作我自己的用戶使用--system選項,甚至 - 儘管我已經在環境變量中配置了所有的東西,但是我的命令如maven或git在管理控制檯上不起作用而java呢。 我剛剛給了我Git的許可,這不是一個好的做法,但它的工作原理。 – 2017-08-24 12:13:27

1

這可能是由〜/ .gitconfig.lock的存在引起的。這個文件可能是之前運行的由於某種原因被中止的git的人工產物,例如, ansible超時或^ C

0

,如果你在系統級設置想要的配置,使用如下命令:

$ sudo git config --system user.name "my_name"