gpt4 book ai didi

git - 在 "git add"之后简化 "git diff"

转载 作者:行者123 更新时间:2023-12-05 05:17:50 24 4
gpt4 key购买 nike

在将任何文件添加到 git 之前,我总是调用 git diff <filename>通常带有附加选项(例如,“-w ”、“--word-diff ”等)。

一旦diff看起来不错,我通过“git add <filename>”暂存提交文件。我目前的做法是修改之前的命令行 git diff bash 调用需要同时删除 diff以及任何感觉低效和多余的方法的选项。

如何执行 diff和可选的 add通过命令行一起?

最佳答案

要有选择地应用差异 block ,请使用 -p 又名 --patch 选项。 git add -p 从工作树应用到索引,git checkout -p 从索引或命名提交应用到索引和工作树,git reset -p 适用于对索引的提交。

你对每个大块头的选择是

Apply this hunk to index [y,n,q,a,d,/,j,J,g,e,?]? 
y - apply this hunk to index
n - do not apply this hunk to index
q - quit; do not apply this hunk or any of the remaining ones
a - apply this hunk and all later hunks in the file
d - do not apply this hunk or any of the later hunks in the file
g - select a hunk to go to
/ - search for a hunk matching the given regex
j - leave this hunk undecided, see next undecided hunk
J - leave this hunk undecided, see next hunk
k - leave this hunk undecided, see previous undecided hunk
K - leave this hunk undecided, see previous hunk
s - split the current hunk into smaller hunks
e - manually edit the current hunk
? - print help

你得到了什么?或者直接按回车键。

为了不在命令行中重复自己,$_ 扩展为前一个命令的最后一个参数,例如git diff --word-diff @path/to/file 然后只是 git add $_。还有历史扩展,它从历史行而不是命令中提取单词,并且因 shell 的不同而略有不同,!$ 是“上一行的最后一个单词”,!#$ 是“我现在输入的行的最后一个词”所以就地排序是例如sort -nrk2,2 -o mylist !#$

关于git - 在 "git add"之后简化 "git diff",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48694340/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com