1. 程式人生 > 其它 >在 windows 藉助 git 修改檔案許可權

在 windows 藉助 git 修改檔案許可權

起因:

建立新倉庫的時候,倉庫都沒有指令碼,然後就需要把運維同事的指令碼複製過來,可執行指令碼都是在 scripts 資料夾下面的

過了幾天,來活了

剛開始還不知道咋回事,想到的檔案許可權是在linux系統下面用命令去設定的,windows只是建立檔案,而且建立完的檔案,該怎麼樣控制權限呢?畢竟程式碼最後是提交到gitlab上面的。

嘿嘿,在linux系統裡面,確實聽到過,但是在windows系統裡面,有點抓狂了。

不對,腦袋靈光一閃,windows上安裝git上傳程式碼,git操作不就是linux操作嘛,這樣一來,我不就能修改檔案許可權了嘛,於是便悟了。

解決辦法:

1. 檢視檔案許可權

# 檢視路徑,確保已經在scripts目錄下
pwd
# 檢視當前目錄下的檔案
ll
# 檢視檔案許可權
git ls-tree HEAD

100644 blob e5c9ae1cd8be8f97b6d46a62653b4f8ac347b55f    docker-image-build-failure.html
100755 blob ad1f290cb43648ff7921f79d2daa50036ac31a5f    docker_build.sh
100644 blob cd2c0339093894e9f1b41578c119eb544eaaa15e    entrypoint.sh
100644 blob cd28c89b27d90f2f02c53677df4afef4698b7420    image-tag.sh

2 修改 倉庫中檔案的許可權

這裡我已經把docker_build.sh的許可權修改了,接下來繼續把 entrypoint.sh 檔案和 image-tag.sh 檔案的許可權 100644 也修改為 100755

# 修改 entrypoint.sh 檔案許可權
git update-index --chmod=+x entrypoint.sh

執行命令,回車之後只要不報錯,就說明修改成功了


# 修改 image-tag.sh 檔案許可權
git update-index --chmod=+x image-tag.sh

同上,只要不報錯,就是修改成功了


3 commit 提交修改

# 把修改的內容提交
git commit -am "chmod +x scripts"

注意:如果不提交,再次檢視,不會顯示已經修改的檔案許可權,如下

未提交前查詢:可以看到 entrypoint.sh 和 image-tag.sh 的許可權還是 100644


提交後查詢:可以看到,現在檔案的許可權都是 100755 了,至此,修改檔案許可權完成

最後 git push 把修改後的檔案再次提交到 git 就可以了