如何在不接受所有文本更改的情况下进行git接受模式更改?
我从“如何让Git忽略文件模式(chmod)更改?”有相反的问题? 我有一个文件,我已经更改了可执行权限,但也有一些文本更改,我想提交前者而不是后者。 这可能与Git?
(实际上,我已经做了一些我想要提交的文本更改,以及可执行权限更改以及其他我不想提交的更改)
更新:将文本更改为文件更改,然后再次执行git add -p
并合并一些文本更改,以便将模式更改设置为暂存。 (我的git版本是1.5.4.3)
git add -i
会让你有选择地将一些文件从文件中添加到索引中。 我不知道它是否对权限敏感,但是如果要在chmod
操作之后添加一个hunk,即使没有明确更新权限,它也可能会正确地在索引中结束。
你应该能够做到:
git update-index --chmod=(+|-)x <file>
调整索引中存储的可执行位。
然后,您可以单独对文件内容进行任何更改。
Charles的回答是为我添加文件模式和内容更改。 我像这样解决了这个问题。
git update-index --skip-worktree --chmod=+x <file>
git update-index --no-skip-worktree <file>
例
或者你可以做
git update-index --chmod=+x <file>
git config interactive.singlekey 1
echo na | git reset -p
链接地址: http://www.djcxy.com/p/30017.html
上一篇: How do I make git accept mode changes without accepting all text changes?