出于某种原因,当我最初从存储库中获取我的git项目时,我在工作副本中获得了大量文件,这些文件没有对它们进行任何可识别的更改,但是仍然在我的unstaged changes区域中出现.
我在Windows XP上使用Git Gui,当我去查看文件时看看有什么变化.我只看到:
old mode 100755
new mode 100644
Run Code Online (Sandbox Code Playgroud)
有谁知道这意味着什么?
如何从我的未分级更改列表中获取这些文件?(非常讨厌必须通过100个文件,只是挑选我最近编辑过的文件并想要提交).
我被git用Windows/Linux行结束问题所困扰.看来,通过GitHub,MSysGit和其他来源,最好的解决方案是让你的本地存储库设置为使用linux风格的行结尾,但设置core.autocrlf为true.不幸的是,我没有及早做到这一点,所以现在每次我进行更改时,行结尾都会被剔除.
我以为我在这里找到了答案,但我无法让它为我工作.我的Linux命令行知识充其量是有限的,所以我甚至不确定"xargs fromdos"行在他的脚本中做了什么.我不断收到关于没有这样的文件或目录的消息,当我设法将它指向现有目录时,它告诉我我没有权限.
我在Windows上通过Mac OS X终端尝试使用MSysGit.
我现在遇到了一个存储库问题,虽然我的git-fu通常很好,但我似乎无法解决这个问题.
当我克隆这个存储库,然后cd进入repo时,git-status会显示几个已更改的文件.注意:我没有在任何编辑器或任何东西中打开回购.
我尝试按照本指南:http://help.github.com/dealing-with-lineendings/但这对我的问题没有任何帮助.
我尝试了cd很多次,但似乎没有做任何事情.
任何帮助/想法将不胜感激
更新1:我在Mac上,并且repo本身没有子模块.
更新2:文件系统是mac上的"Journaled HFS +"文件系统,不区分大小写.这些文件是一行的,每个大约79K(是的,你听到了),所以看看git status并不是特别有用.我听说过git checkout -- .这可能会有所帮助,当我回到计算机上时,我会尝试使用它.
更新3:用事实更改文件系统的细节!而且,我尝试了git diff一些效果不佳的技巧.
我想删除对我的工作副本的所有更改.
运行git status显示修改的文件.
我没做什么似乎删除了这些修改.
例如:
rbellamy@PROMETHEUS /d/Development/rhino-etl (master)
$ git status
# On branch master
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: Rhino.Etl.Core/Enumerables/CachingEnumerable.cs
# modified: Rhino.Etl.Core/Pipelines/SingleThreadedPipelineExecuter.cs
# modified: Rhino.Etl.Tests/Rhino.Etl.Tests.csproj
# modified: Rhino.Etl.Tests/SingleThreadedPipelineExecuterTest.cs
#
no changes added to commit (use "git add" and/or "git commit -a")
rbellamy@PROMETHEUS /d/Development/rhino-etl (master)
$ git checkout -- Rhino.Etl.Core/Enumerables/CachingEnumerable.cs
rbellamy@PROMETHEUS …Run Code Online (Sandbox Code Playgroud) 我有一个repo,有两个文件,据说我在本地更改.
所以我坚持这个:
$ git status
# On branch master
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: dir1/foo.aspx
# modified: dir2/foo.aspx
#
no changes added to commit (use "git add" and/or "git commit -a")
Run Code Online (Sandbox Code Playgroud)
做了git diff说整个文件内容已经改变了,即使从眼球看起来似乎是不真实的(似乎有差异的共同行范围似乎没有看到).
有趣的是我不记得在本地更改这些文件.此仓库与一个远程仓库(私人,GitHub.com,FWIW)一起使用.
无论我尝试过什么,我都不能放弃这些局部变化.我尝试了所有:
$ git checkout -- .
$ git checkout -f
$ git checkout -- dir1/checkout_receipt.aspx
$ git reset …Run Code Online (Sandbox Code Playgroud) 我克隆了一个存在不一致行结尾的存储库.我添加了一个.gitattributes为我想要规范化的文件设置text属性.现在,当我提交更改时,我收到消息:
warning: CRLF will be replaced by LF in FILE.
The file will have its original line endings in your working directory.
Run Code Online (Sandbox Code Playgroud)
如何让git为我标准化我的文件的工作副本?我希望git能够规范化整个工作树.
我有一个现有的存储库,其中行结尾都搞砸了.我想重写整个存储库并一劳永逸地修复行结尾.有文本文件和二进制文件,我们假设git检测二进制文件的启发式方法可以正常工作.
使用带有规范化行结尾的文件重新填充整个存储库的最简单方法是什么?
在合并我的同事的捆绑后,我发现了CRLF问题.有时将带有LF的行混合到源中,可能是合并到的源.因此,我们决定添加.gitattributes包含以下内容的文件(删除注释):
*.cpp text
*.h text
*.inc text
*.cfg text
*.dic text
*.sln text eol=crlf
*.vcxproj text eol=crlf
*.filters text eol=crlf
*.user text eol=crlf
*.rc text eol=crlf
*.rc2 text eol=crlf
Run Code Online (Sandbox Code Playgroud)
现在我观察到奇怪的行为.我可以看到很多modified: ...不应该存在的文件(即未分级的).我试过git reset --hard,但文件仍然具有相同的状态.我试图再次克隆存储库 - 结果相同.
我git version 1.7.11.msysgit.0已从Git-1.7.11-preview20120620.exe下载的Windows 安装当前版本安装.
我还应该尝试什么?
谢谢,彼得
当我这样做时git status,我看到一些文件具有本地更改(似乎是缩进更改)。
当我这样做时git stash,它不会从队列中删除这些文件。它阻止我的自动提取脚本从远程git获取。
$ git stash
Saved working directory and index state WIP on develop: 05c60a5 Merge remote-tracking branch 'origin/develop' into develop
HEAD is now at 05c60a5 Merge remote-tracking branch 'origin/develop' into develop
$ git stash
On branch develop
Your branch and 'origin/develop' have diverged and have 23 and 127 different commit(s) each, respectively.
Changed but not updated:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard …Run Code Online (Sandbox Code Playgroud) git ×10
line-endings ×2
newline ×2
revert ×2
git-clone ×1
git-gui ×1
git-stash ×1
git-status ×1
github ×1
msysgit ×1
windows ×1
working-copy ×1