关于代码格式化我有点纯粹:).我经常删除不必要的空格(只有ws的行,行末尾的ws等).我甚至设置了vim来显示那种颜色为红色的线条.
我的问题是使用git-diff我经常看到这样的东西:
- else{
+ else{
Run Code Online (Sandbox Code Playgroud)
即使我有git-diff颜色,我也看不出差异(在那种特殊情况下,我在行尾删除了1个ws).有没有办法告诉git-diff显示ws变成红色?(例如与/\s + $/regexp匹配的那些).
有没有办法确定现有git存储库中的行结尾?
如果我克隆现有存储库,如何确定创建者使用了哪个core.autocrlf?
我仍然不确定core.autocrlf的最佳设置,例如在Windows机器上(因为有多种意见: 使用代码分发git配置或https://help.github.com/articles/dealing-with-line-结局)
额外的问题:您是否可以在Windows上(使用标准工具)确定repo是否在所有提交中都有混合行结尾(错误的core.autocrlf设置)?
我刚刚使用git克隆了一个项目并打开了一个新的分支.在更改了只有1个文件之后,我尝试提交更改,但它向我显示我提交了3000多个文件.点击任何文件以查看差异后,phpstorm说"没有差异".
我听说这可能是与行结尾有关的错误,但我现在不知道该怎么做.请你帮助我好吗?现在无法验证3000个文件,我不想通过推送疯狂的东西来破坏项目.
我尝试将phpstorm中的行结尾更改为LF(unix)和CRLF(windows),但它根本没有帮助.我听说可能有必要在git中更改它,所以我尝试运行一些随机推荐的命令,但根本没有结果.
编辑:增加了100个声望赏金.我无法解决这个问题
解决方案:好的,看起来这是特权问题.我在所有目录上都给了chmod 777,这太过分了.
我使用SourceTree作为 git 客户端。
不久前,我的项目和 git 遇到了重大问题,因此我必须从外部源重新激活工作区的副本。为此,我创建了一个全新的存储库。现在就致力于此。
今天我注意到,我的大部分文件在 Xcode 中显示为“已修改”。即使在提交和推送之后(使用 SourceTree)。
源代码管理显示了我的两个分支,什么是正确的:
历史记录完美地显示了所有的提交:
我的感觉告诉我,在后台,旧的存储库信息仍然存在并且会出现此错误。我该如何处理这个问题?非常感谢帮助。
编辑:
git diff --ws-error-highlight=new,old输出
有没有办法像git commit和git push命令一样将现有文件推送到 python 中的 gitlab 项目存储库,而不是创建新文件?
我目前正在使用python-gitlab包,我认为它只支持files.create使用提供的字符串内容创建新文件。在我的例子中,这会导致文件内容略有不同。
我正在寻找一种方法将 python 中的文件原封不动地推送到存储库中,任何人都可以帮忙吗?
我刚刚安装了最新的Git(1.9.5),突然它告诉我我的工作树不干净(更改没有上演),但我看不到任何差异工具中任何文件的任何变化(我尝试过Tortoise和Visual Studio的内置功能).当我运行git status时,它说:
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: inc/i_lab_orders.asp
modified: lab_order_list.asp
modified: slib/lab_order_lib.asp
Run Code Online (Sandbox Code Playgroud)
但是,Git GUI的diff工具告诉我所有的行都被改变了,但是我找不到任何区别.与git bash的差异相同.
运行git reset --hard根本没有帮助 - 命令执行没有任何问题,但最后我仍然有相同的"已更改"文件.
更新:core.autocrlf为false,core.fileMode也为false.我还注意到,报告要更改的文件正是在上次提交时提交的文件.
我在Windows上.