git和Linux遇到的一些問題

在Linux中新配置了git,爲了方便開發,更改git倉庫目錄的權限爲777,本來一切如常,但在提交代碼時出現了問題,git顯示所有文件已被修改,度娘好久後才發現是文件權限的問題,解決辦法是使用如下命令
git config core.filemode false

問題完美解決

umaks

umask命令用來設置限制新建文件權限的掩碼。當新文件被創建時,其最初的權限由文件創建掩碼決定。用戶每次註冊進入系統時,umask命令都被執行, 並自動設置掩碼mode來限制新文件的權限。用戶可以通過再次執行umask命令來改變默認值,新的權限將會把舊的覆蓋掉。

語法:
umask(選項)(參數)

選項 -p:輸出的權限掩碼可直接作爲指令來執行;
-S:以符號方式輸出權限掩碼。 參數 權限掩碼:指定權限掩碼。

實例 利用umask命令可以指定哪些權限將在新文件的默認權限中被刪除。

例如,可以使用下面的命令創建掩碼,使得組用戶的寫權限,其他用戶的讀、寫和執行權限都被取消: umask u=, g=w, o=rwx 執行該命令以後,對於下面創建的新文件,其文件主的權限未做任何改變,而組用戶沒有寫權限,其他用戶的所有權限都被取消。

應注意:操作符“=”在umask命令和chmod命令中的作用恰恰相反。在chmod命令中,利用它來設置指定的權限,而其餘權限則被刪除;但是在umask命令中,它將在原有權限的基礎上刪除指定的權限。 不能直接利用umask命令創建一個可執行的文件,用戶只能在其後利用chmod命令使它具有執行權限。假設執行了命令umask u=, g=w, o=rwx,雖然在命令行中,沒有刪去文件主和組用戶的執行權限,但默認的文件權限還是640(即 rw-r—–),而不是750(rwxr-x—)。但是,如果創建的是目錄或者通過編譯程序創建的一個可執行文件,將不受此限制。在這種情況 下,會設置文件的執行權限。

也可以使用八進制數值來設置mode。由於在umask中所指定的權限是要從文件中刪除的,所以,如果該文件原來的初始化權限是777,那麼執行命令umask 022以後,該文件的權限將變爲755:如果該文件原來的初始化權限是666,那麼該文件的權限將變爲644。

可以使用下面的命令檢查新創建文件的默認權限: umask -s 選項-s表示以字符形式顯示當前的掩碼。如果直接輸入umask命令,不帶任何參數,那麼將以八進制形式顯示當前的掩碼。系統默認的掩碼是0022。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章