gpt4 book ai didi

git 空白问题

转载 作者:IT王子 更新时间:2023-10-29 00:57:37 26 4
gpt4 key购买 nike

空格冲突很烂

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

git config apply.whitespace=strip

似乎增加了你发生冲突的机会(当你剥离不需要的空白,然后其他合作者看到剥离空格作为对他们提交的更改?)

我已经在 apply.whitespace 中尝试了一些其他配置过去,也许其他配置之一解决了这个问题,或者也许有其他处理空白的设置,我还没有来跨越,但我还没有找到一个明确的方法来到达我想去的地方。

我想安静地解决空格冲突:

我永远不想在空格上再发生冲突。如果另一个提交者更改空格,或者我更改空格然后必须 merge 我自己的冲突,我真的不想知道。如果有人将我的代码从 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

最佳答案

Git1.6.0.4看起来有点旧,特别是如果你考虑到这一点:

  • 1.6.3.4 , "git apply --whitespace=fix"没有修复尾随空格不完整的行
  • 1.6.3.2 ,设置的“whitespace”属性旨在检测所有已知错误到 git,但它告诉 git 忽略尾随回车。

您可以尝试使用 Git1.6.4.1,而不是设置全局配置,而是在您想要特殊空白句柄的文件上设置一个属性,就像这样 patch describes .

在给定的目录中,创建一个 .gitattributes 文件。

* -whitespace

这将忽略任何“空白”错误。

现在这并不能避免由于缺乏一致性而导致的任何冲突,但这可能值得一试。


补丁是关于以下方面的测试:

Only ignore whitespace errors in t/tNNNN-*.sh and the t/tNNNN subdirectories.
Other files (like test libraries) should still be checked.

t/.gitattributes
t[0-9][0-9][0-9][0-9]-*.sh -whitespace
t[0-9][0-9][0-9][0-9]/* -whitespace

注意(Git 2.3.2+,2015 年第一季度,commit 0a80bc9,作者 Junio C Hamano aka gitster)“git apply --whitespace=fix”不再沉默:

"git apply --whitespace=fix" fixed whitespace errors in the common context lines but did so without reporting.

When the incoming patch has whitespace errors in a common context line (i.e. a line that is expected to be found and is not modified by the patch), "apply --whitespace=fix" corrects the whitespace errors the line has, in addition to the whitespace error on a line that is updated by the patch.
However, we did not count and report that we fixed whitespace errors on such lines.

关于git 空白问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1316364/

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