如何避免空格被github提交

时间:2018-08-08 06:50:02

标签: git github

我做了两行更改,但是在git中由于空白而显示了更多行更改。对于我们来说,审查确切的代码更改非常困难。

下面是我用来推送代码的命令。

首先,我将从Different repo中提取代码库并与我的本地库合并。并将我的更改推到我的叉子上,并提高公关。

git add .
git commit -am "changes"
git pull upstream master
git push origin master

,但是我在git控制台中也找不到任何空格去除选项。只有我可以看到“ UNIFIED”,“ SPLIT”。

屏幕截图

请找到以下示例屏幕快照以供参考。

enter image description here

有什么方法可以忽略所有正在提交的空格。

有什么建议线索吗?

3 个答案:

答案 0 :(得分:2)

解决问题的另一种方法是对更改的方式保持谨慎。

在上面的示例中,您使用两种非常广泛的方法在提交之前搜索代码库中的更改。

df %>% filter(A==2) %>% summarise(., average = mean(A))

git add . git commit -am "changes" 的{​​{1}}参数已经分阶段了所有检测到的更改(不完全准确,请参见出色的答案here,以获取更多详细信息),但是最重要的是,您正在使用.的{​​{1}}参数,由于您要再次进行所有更改,因此我将其描述为多余的过大杀伤力。

您的上下文可能会使我的以下建议或多或少变得切实可行,但是您可以考虑“手动”添加更改的文件:

add

如果您觉得该过程很繁琐,请记住:

  • 您可以直接从状态输出的右上方复制和粘贴路径,这使它变得快速
  • 还可以使用-a调用交互模式,该模式允许您迭代查看更改以确定实际要上演的内容。

答案 1 :(得分:1)

您可以使用here中提到的git diff -w | git apply --cached --ignore-whitespace

编辑: 进行任何更改后,运行
git diff -w | git apply --cached --ignore-whitespace
然后
git commit -m "your message"

答案 2 :(得分:0)

您现在可以设置一个GitHub Action,当收到新的提交或请求请求时,如果存在空格问题,它将失败。

Git本身说明了Git 2.30(Q1 2021)的自动化过程。

请参见commit 32c83afChris. Webster (webstech)(2020年9月22日)。
(由Junio C Hamano -- gitster --commit 1a42a77中合并,2020年10月27日)

ci:github动作-添加对空格错误的检查

签名人:克里斯。韦伯斯特
评论人:杰夫·金

并非所有开发人员都知道[ git diff --check ](https://github.com/git/git/blob/32c83afc2c69aa51b82aa223f2099389f1f0be0a/Documentation/diff-options.txt#L415)<sup>([man](https://git-scm.com/docs/git-diff#Documentation/git-diff.txt---check))</sup> 来警告空白问题。
在拉取请求打开或更新时运行检查可以为审阅者和提交者节省时间。

创建请求请求或更新内容以检查修补程序系列时,将运行GitHub工作流。
拉取请求提供了必要的信息(提交次数),仅检查补丁程序系列。

为确保开发人员知道任何问题,将在检查请求中添加带有检查错误的注释。

您可以看到here the .github/workflows/check-whitespace.yml script

它从拉取请求开始:

on:
  pull_request:
    types: [opened, synchronize]

它将使用git log --check检测提交是否包含任何冲突标记或空格错误。


使用Git 2.30(Q1 2021),空白检查器更强大:

请参见commit cba2504Johannes Schindelin (dscho)(2020年11月3日)。
(由Junio C Hamano -- gitster --commit 15486b6中合并,2020年11月11日)

ci:使空白检查器更强大

签名人:Johannes Schindelin

32c83afc2c69(“ ci:github操作-添加对空格错误的检查”中,2020-09-22,Git v2.30.0 - merge在{{3}中列出}),我们引入了GitHub工作流程,该工作流程会自动检查“拉取请求”中是否存在空格问题。

但是,当受影响的行包含一个或多个双引号字符时,此工作流程无法附加信息性注释,因为Javascript代码段错误地解释了这些引号,而不是使用batch #1 git log按原样输出。

我们解决这个问题。

与此同时,我们await函数的结果。{p1

最后,我们将日志中的日志用createComment()括起来,以避免diff标记被误解为枚举项目符号。

相关问题