目錄
使用場景
方法一:使用shell修改許可權
方法二:使用git命令修改許可權
有時會涉及到將檔案許可權的修改提交到版本庫中。例如我們建立的shell檔案預設情況下是沒有執行許可權的,如果使用者拉取了倉庫中的**,在執行**前需要手動的將包中的所有shell檔案新增執行許可權。當然我們也可以直接將檔案許可權的修改提交到版本庫中,避免笨拙的手動修改檔案許可權操作。
使用chmod命令將檔案修改好許可權後提交到版本庫中。
$ ll
total 16
drwxr-xr-x 7 liushuochen staff 224 1 10 11:15 ./
drwxr-xr-x+ 125 liushuochen staff 4000 1 10 11:33 ../
drwxr-xr-x 12 liushuochen staff 384 1 10 11:15 .git/
drwxr-xr-x 3 liushuochen staff 96 12 6 20:15 conf/
-rw-r--r-- 1 liushuochen staff 0 11 15 15:08 readme.md
-rw-r--r-- 1 liushuochen staff 19 1 9 22:39 tool.sh
-rw-r--r-- 1 liushuochen staff 34 1 10 11:15 tool2.sh
$ chmod 777 tool.sh
$ git status
on branch master
changes not staged for commit:
(use "git add ..." to update what will be committed)
(use "git restore ..." to discard changes in working directory)
modified: tool.sh
no changes added to commit (use "git add" and/or "git commit -a")
$ git add tool.sh
$ git commit -m "modify tool.sh"
[master c028e04] modify tool.sh
1 file changed, 0 insertions(+), 0 deletions(-)
mode change 100644 => 100755 tool.sh
在windows上是通過使用git命令給檔案增加或撤銷執行許可權。使用 git update-index --chmod=+x 增加檔案的執行許可權,使用git update-index --chmod=-x 撤銷檔案的執行許可權。
git update-index --add --chmod=+x tool2.sh
git commit -am "revise permission access"
[master e5b2b16] revise permission access
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100755 tool2.sh
git 修改檔案許可權
windows 下的檔案是否可執行是由副檔名決定的,但是linux下是否可執行是檔案的可執行屬性決定的。有時候windows 下開發寫的指令碼程式,想提交的git 倉庫中時就有可執行許可權,以便在linux和macos上轉殖下來就能直接執行。如果在linux下就先新增可執行許可權 後commit和p...
Git修改檔案許可權方法
檢視repository中檔案許可權 git ls tree head 100644 blob xx gradlew 修改許可權git update index chmod x gradlew許可權修改後,相當於檔案進入了index中。提交修改 git commit m revise permiss...
git修改檔案許可權引發衝突
在發布專案到線上時,很多時候需要修改檔案的許可權,如果是使用git版本管理軟體來發布的話,那麼下次更新線上檔案的時候就會提示檔案衝突。明明檔案沒有修改,為什麼會衝突呢?原來git把檔案許可權也算作檔案差異的一部分。下面筆者自己做了個簡單的例子來演示這種情況。1 修改版本庫的檔案的許可權,然後使用di...