Git:能够在不触及工作树的情况下暂存特定文件内容

标签 git stage

我想修改一个(文本)文件的索引,而不必更改工作树文件状态。这可能吗?

最佳答案

“在不改变工作目录的情况下更改索引中的文件”的另一种做法是仅对索引应用补丁。这通常是 GUI git 客户端仅暂存给定文件中选定行的方式。

您首先(如果需要)从该文件的索引中清除更改:

git reset path/to/file

然后为它提取完整的补丁

git diff path/to/file > /path/to/tmpfile

编辑补丁文件以仅包含您要应用的更改,并仅应用编辑后的补丁:

git apply --cached /path/to/tmpfile

参见:

git help apply

关于Git:能够在不触及工作树的情况下暂存特定文件内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8580277/

相关文章:

Eclipse 和 EGit : How to easily review changes to ALL modified files before committing to *local* repository

git - 将 GIT 存储库(有很多分支)移植到 Gerrit

azure - Snowflake - 创建阶段 - 使用 Azure 的动态 url 模式

java - 如何仅打开一次 JavaFX 窗口

git - 在 git 中暂存暂存文件?

git - 使用 Git 扩展进行交互式 rebase

git - 在本地从 git 中删除文件,但不在远程

linux - 从 Linux 服务器执行 GIT 克隆时出现 http 401.1 错误

jenkins-pipeline - 如何修复 - stageResult 设置为 FAILURE 但仍然在 jenkins 中获得成功

java - 使矩形透明