如何在不接受所有文本更改的情况下进行git接受模式更改?

And*_*imm 34 git chmod

我有一个相反的问题," 如何使Git忽略文件模式(chmod)更改? "我有一个文件,我已经更改了可执行权限,但也有一些文本更改,我想承诺前者但不承认后者.这可能与git有关吗?

(实际上,我做了一些文本更改,我想提交可执行权限更改,以及其他我不想提交)

更新:将文本更改取消暂存到文件,然后git add -p 再次执行并合并一些文本更改,以便将模式更改为暂存.(我的git版本是1.5.4.3)

CB *_*ley 78

你应该能够做到:

git update-index --chmod=(+|-)x <file>
Run Code Online (Sandbox Code Playgroud)

调整存储在索引中的可执行位.

然后,您可以对文件内容的任何更改单独提交.


Bob*_*man 15

git add -i会让你有选择地从文件中添加一些帅哥到索引.我不知道它是否对权限敏感,但如果你在chmod操作后添加一个大块,它可能会在索引中正确结束,即使没有明确更新权限.

  • 那是正确的,git add -i(和git add --patch)问你"舞台模式改变了吗?" 就在他们询问变化的帅哥之前. (4认同)