如何在每次提交之前进行区分而不进入交互模式?

时间:2018-08-21 00:57:07

标签: bash git diff commit

假设您执行git status,然后返回要逐一检查然后逐一提交的文件列表。

或者您在目录上执行git diff并希望在检查后直接提交。如何通过简单的技巧做到这一点?

3 个答案:

答案 0 :(得分:1)

如果在GUI环境中。您可以从控制台启动"git gui"。 这将启动一个窗口,左窗格中将包含已更改文件的列表。选择其中任何一个,将显示差异。 您可以通过单击文件名左侧的图标来添加文件,然后在同一窗口中提交它。

希望有帮助。

答案 1 :(得分:1)

注意:diff + commit无效,因为您没有添加任何索引。

如前所述,git add -i or git add -p (--patch)将为您提供差异视图,并可以添加或跳过每个差异块。
然后,您可以提交修改后的索引。

答案 2 :(得分:-2)

在提交之前是否需要diff?

开箱即用的简单解决方案思考:

将其粘贴在.bashrc或.zshrc中:

gdiffy() { git diff $1 && git add $1 && git commit $1; }

首先,它将弹出一个差异,当您关闭它时,它将允许您输入提交消息。

用法示例:

gdiffy config/database.yml

gdiffy .