在 Git 中提交部分数据
Posted
技术标签:
【中文标题】在 Git 中提交部分数据【英文标题】:Committing partial Hunks in Git 【发布时间】:2011-07-07 03:41:55 【问题描述】:如果我做了两个逻辑更改,这在代码中是连续的。 Git 在交互式添加时将其显示为一个大块。
有没有办法在add --patch
期间专门只添加几行代码?
【问题讨论】:
这个问题可能与 ***.com/questions/2333828/… 重复。该问题的答案也增加了额外的有用细节(git stash --keep-index
技巧)。
【参考方案1】:
git add --patch
mode 具有拆分单个大块或编辑单个大块的选项。
git add --patch
:
s - split the current hunk into smaller hunks
e - manually edit the current hunk
这不能解决您关于连续线集的问题吗?
添加部分提交后,用户应仅使用git commit
提交,使用git commit -a
或使用带有all files
标志的提交忽略添加的部分并提交所有暂存文件。
【讨论】:
注意:对我来说,在仅向索引添加一些大块之后通过git commit
(没有git commit -a
)提交是不够的。尽管git diff
和git diff --cached
以及git status
给出了预期的输出,但发出git commit
将所有更改全部添加到提交中。我之前必须使用git stash --keep-index
,临时存储其他更改,部分提交,然后git stash pop
将它们添加回工作副本。 Msysgit 1.7.11 @ WinXP。 YMMV。以上是关于在 Git 中提交部分数据的主要内容,如果未能解决你的问题,请参考以下文章