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

StackOverflow https://stackoverflow.com/questions/1611211

  •  05-07-2019
  •  | 
  •  

我遇到了相反的问题 “如何让Git忽略文件模式(chmod)更改?" 我有一个文件,我已经更改了可执行权限,但也有 一些文字改变,我想承诺前者而不是后者。这是 可以用git吗?

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

更新:将文本更改停止到文件,然后执行 git add -p 再次并结合一些文本更改设法获得模式更改 进入分期。 (我的git版本是1.5.4.3)

有帮助吗?

解决方案

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

其他提示

你应该可以这样做:

git update-index --chmod=(+|-)x <file>

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

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

Charles&#8217;回答 我正在为索引添加文件模式和内容更改。我像这样工作。

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
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top