I've got the opposite problem from "How do I make Git ignore file mode (chmod) changes?" I've got a file that I've changed executable permission on, but there are also some text changes, and I want to commit the former but not the latter. Is this possible with git?
(Actually, I've made some text changes I want to commit along with the executable permission change, and others I don't want to commit)
Update: Unstaging the text changes to the file, and then doing git add -p
again and incorporating some of the text changes managed to get the mode change into staging. (My git version is 1.5.4.3)
If you set core. filemode=false then git will ignore execute bit changes, no need to change local permissions.
You should be able to do:
git update-index --chmod=(+|-)x <file>
to adjust the executable bit stored in the index.
You can then commit this separately from any changes to the files content.
git add -i
will let you selectively add some hunks from a file to the index. I don't know whether or not it's sensitive to permissions, but if you were to add a hunk after the chmod
operation, it might end up in the index correctly even without explicitly updating the permission.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With