Sho*_* Ya 15 linux git permissions
我不小心跑到chmod -R 755 projects
了放置所有项目的目录。
幸运的是,我所有的项目都是使用 git 进行跟踪的。所以我可以在每个项目中运行git checkout HEAD .
来修复权限。
但是,在某些项目中,有一些正在进行的工作尚未提交到树中,这样做将覆盖这些文件的内容。
有没有办法只放弃文件模式的更改,而不放弃文件内容的更改?
Sho*_* Ya 16
我发现这个片段完全符合我的要求。
git diff -p \
| grep -E '^(diff|old mode|new mode)' \
| sed -e 's/^old/NEW/;s/^new/old/;s/^NEW/new/' \
| git apply
Run Code Online (Sandbox Code Playgroud)
我将此片段分配给 git 别名,然后我可以输入git fix-perm
权限混乱的目录。
git config --global alias.fix-perm "!f(){ git diff -p | grep -E '^(diff|old mode|new mode)' | sed -e 's/^old/NEW/;s/^new/old/;s/^NEW/new/' | git apply; }; f"
Run Code Online (Sandbox Code Playgroud)
积分归 jtdp 所有。(https://gist.github.com/jtdp/5443498)
归档时间: |
|
查看次数: |
6208 次 |
最近记录: |