相关疑难解决方法(0)

如何在git中预览合并?

我有一个git分支(例如主线),我想在另一个开发分支中合并.或者我呢?

为了确定我是否真的想合并这个分支,我想看看合并将做什么的某种预览.最好能够查看正在应用的提交列表.

到目前为止,我能想到的最好的是merge --no-ff --no-commit,然后diff HEAD.

git git-merge

371
推荐指数
6
解决办法
11万
查看次数

按类型过滤git diff

有没有办法限制git diff更改的文件?

我想看看两个提交之间的差异,但排除一个或另一个中不存在的路径(添加/删除).以下Perl单线程说明了我想要的大部分内容:

git diff master.. | perl -lnwe 'print unless /^(new|deleted) file/../^diff/ and not /^diff/'
Run Code Online (Sandbox Code Playgroud)

但是这会diff --git a/path b/path为新文件或删除的文件留下线条.另外,如果我不需要解析它会更好(如果任何hunk包含匹配/ ^ diff /的任何内容,也会失败).

我尝试的另一种选择是:

git diff --name-status (args) | perl -lnwe 'print if s/^M\s+//' | xargs git diff (args) --
Run Code Online (Sandbox Code Playgroud)

它的输出更好,但仍然感觉很乱.

git diff

105
推荐指数
4
解决办法
4万
查看次数

Git diff 但仅适用于另一个分支上的更改

假设我在git中有一个branch0。

从这个branch0我创建了一个branch1并开始处理它。一段时间后,我对这个分支进行了更改1。同时branch0正在被改变。

如果我将branch1 的最新版本与branch0 进行比较,我将看到分支之间的所有更改,而不仅仅是与branch1 中的更改相关的更改。

例如,如果在branch0中修改了文件,但在branch1上未修改该文件,则会git diff显示对该文件的更改。但是该文件在branch1 上没有被修改。所以我希望它在差异中被忽略。

从某种意义上说,我想git diff在branch1和branch0之间执行 a 操作,但仅限于在branch1中修改的文件。

在git中可以吗?我可以想象在 bash 中执行此操作,列出所有文件并逐一进行比较。但想知道 git 是否有更简单的方法。

git

6
推荐指数
2
解决办法
1922
查看次数

标签 统计

git ×3

diff ×1

git-merge ×1