git 修改檔案許可權

2021-10-01 11:36:51 字數 1387 閱讀 6792

windows 下的檔案是否可執行是由副檔名決定的,但是linux下是否可執行是檔案的可執行屬性決定的。

有時候windows 下開發寫的指令碼程式,想提交的git 倉庫中時就有可執行許可權,以便在linux和macos上轉殖下來就能直接執行。

如果在linux下就先新增可執行許可權 後commit和push,如果在windows下就需要通過git命令修改了。

$ git ls-tree head

100644 blob d116ef8f223343c3425ff48c83e82fee60ff7e31 .gitignore

100644 blob 5627c82972a898248d36da3933bc4195865d7014 readme.en.md

100644 blob 828b1b40d264cdbd9dea4f5178e14de0559e0d3e readme.md

040000 tree a6db25934db55524d03f67f5901cc74308974ba6 g

100644 blob 06d39d8eacc78062af472cbfa40e819c9308d769 go.mod

100644 blob 25feac03517d5e29ca46d53d032ac0edffe447b9 go.sum

040000 tree c9728e7e3f435927d90c61ab24258f7cb593d443 lab

040000 tree 1313cea3ad290695a24257b82583acad3427be75 tcp

$ git ls-tree head ./tcp/pre/

100644 blob 00e3da7a0b70f90359ceed819de68d9910c9889c tcp/pre/build.sh

$ git update-index --chmod=+x tcp/pre/build.sh
$ git commit -am "chmod +x build.sh"

[mqzj 693d3f6]

chmod +x build.sh

1 file changed, 0 insertions(+), 0 deletions(-)

mode change 100644 =

> 100755 tcp/pre/build.sh

再次檢視 檔案許可權

$ git ls-tree head ./tcp/pre/

100755 blob 00e3da7a0b70f90359ceed819de68d9910c9889c tcp/pre/build.sh

Git修改檔案許可權

目錄 使用場景 方法一 使用shell修改許可權 方法二 使用git命令修改許可權 有時會涉及到將檔案許可權的修改提交到版本庫中。例如我們建立的shell檔案預設情況下是沒有執行許可權的,如果使用者拉取了倉庫中的 在執行 前需要手動的將包中的所有shell檔案新增執行許可權。當然我們也可以直接將檔案...

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...