【发布时间】:2011-07-07 03:41:55
【问题描述】:
如果我做了两个逻辑更改,这在代码中是连续的。 Git 在交互式添加时将其显示为一个大块。
有没有办法在add --patch 期间专门只添加几行代码?
【问题讨论】:
-
这个问题可能与 stackoverflow.com/questions/2333828/… 重复。该问题的答案也增加了额外的有用细节(
git stash --keep-index技巧)。
如果我做了两个逻辑更改,这在代码中是连续的。 Git 在交互式添加时将其显示为一个大块。
有没有办法在add --patch 期间专门只添加几行代码?
【问题讨论】:
git stash --keep-index 技巧)。
git add --patch mode 具有拆分单个大块或编辑单个大块的选项。
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。