相关疑难解决方法(0)

忽略*所有*空格在提交之间使用git-diff进行更改

我正在通过一个代码库并修复空白怪异并且通常会修正缩进等等,我想确保我没有无意中进行任何其他更改,所以我在git diff -w显示所有已更改文件的差异而忽略空格差异.问题是,这实际上并没有忽略所有的空白差异 - 至少认为只是空白差异.例如,在以下输出中git diff -w,

-"Links":
-{
-
-    "Thermal":
-
-{
-
+  "Links": {
+    "Thermal": {
Run Code Online (Sandbox Code Playgroud)

你可以看到我只有

  1. 删除多余的空白行,
  2. 将花括号放在键打开的行的末尾,并且
  3. 缩进以适合上下文

这个问题看起来似乎可能首先提供答案,但它处理两个特定文件之间的差异,而不是两个特定提交之间的差异.通过搜索发现的其他一切也是一个死路一条.例如,这个问题是关于合并,而不是显示差异,这个问题涉及显示单词级差异,等等.

git diff git-diff

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

git whitespace woes

空白的冲突很糟糕

在使用git时,空白对我来说是一种可怕的痛苦.

git config apply.whitespace=strip
Run Code Online (Sandbox Code Playgroud)

似乎会增加你获得冲突的机会(当你删除不需要的空格,然后其他合作者将剥离的空白视为对其提交的更改?)

我过去曾尝试过其他一些配置apply.whitespace,也许其他配置中的一个可以解决这个问题,或者可能还有其他设置来处理我刚才没有遇到的空白,但我还没有找到明确的如何到达我想要的地方.

我想默默地解决空白冲突:

我从不想在空白上再发生冲突.如果另一个提交者改变了空格,或者我改变了空格然后必须合并我自己的冲突,我真的不想知道它.如果有人通过更改空格将我的代码从K&R样式更改为One True Brace样式,我更喜欢git允许空白设置赢得而不必看到它的冲突.我只是不太关心空白想要看到它的冲突.

所以......有什么方法可以配置git来做到这一点?

如果它有任何区别,这是我的git版本,以及我当前的配置:

tchalvak:~/ninjawars$ git --version
git version 1.6.0.4

tchalvak:~/ninjawars$
git config --list
color.branch=auto
color.diff=auto
color.status=auto
color.branch.current=yellow reverse
color.branch.local=yellow
color.branch.remote=green
color.diff.meta=yellow bold
color.diff.frag=magenta bold
color.diff.old=red bold
color.diff.new=green bold
color.status.added=yellow
color.status.changed=green
color.status.untracked=cyan
gui.recentrepo=/home/tchalvak/zd/htdocs/cms
apply.whitespace=strip
user.name=****
user.email=****
alias.co=checkout
github.user=tchalvak
github.token=****
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
remote.origin.url=...@github.com:tchalvak/ninjawars.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master 
Run Code Online (Sandbox Code Playgroud)

git settings whitespace

34
推荐指数
2
解决办法
2万
查看次数

SourceTree合并忽略空白冲突

有没有办法告诉SourceTree在合并期间总是忽略空格"冲突"?像命令行调用的东西:

git merge -Xignore-space-change
Run Code Online (Sandbox Code Playgroud)

合并中描述的那样没有空格冲突.

git merge whitespace atlassian-sourcetree

10
推荐指数
1
解决办法
6083
查看次数

git merge:过滤文件以避免愚蠢的冲突(如空格或大小写更改)

我目前正处于一个非常复杂的git合并中,我有很多冲突.冲突是关于两个Ada源文件.

我想进行合并,忽略空格更改和大小写更改(因为Ada语言不区分大小写).你知道是否有办法告诉git在合并之前忽略某些变化?

我的解决方案目前是在合并之前在两个分支上运行GNAT漂亮打印,但如果git中包含一个通用解决方案,那将对我有很大帮助.

git merge whitespace conflict case-insensitive

7
推荐指数
1
解决办法
1604
查看次数