【问题标题】:Git repository has changes right after cloneGit 存储库在克隆后立即发生更改
【发布时间】:2016-12-09 10:03:41
【问题描述】:

克隆此仓库后:

https://github.com/OpenFOAM/OpenFOAM-3.0.x

我要立即提交更改。 我尝试使用在./git/config 文件上更改textmodecrlfauto 的通用解决方案来修复它。我也试过.gitattributes 文件。但是,这不是行尾问题。我对代码进行了实际更改。

这是我的程序和输出:

cruz@MacBook-Air-de-Luis  ~/dev  git clone https://github.com/luiscruz/OpenFOAM-3.0.x.git
Cloning into 'OpenFOAM-3.0.x'...
remote: Counting objects: 49097, done.
remote: Total 49097 (delta 0), reused 0 (delta 0), pack-reused 49097
Receiving objects: 100% (49097/49097), 59.70 MiB | 2.29 MiB/s, done.
Resolving deltas: 100% (30768/30768), done.
Checking connectivity... done.
Checking out files: 100% (13863/13863), done.
 cruz@MacBook-Air-de-Luis  ~/dev  cd OpenFOAM-3.0.x
 cruz@MacBook-Air-de-Luis  ~/dev/OpenFOAM-3.0.x   master ●  git status
On branch master
Your branch is up-to-date with 'origin/master'.
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:   applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/InterfaceCompositionModel/InterfaceCompositionModel.C
    modified:   applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/InterfaceCompositionModel/InterfaceCompositionModel.H
    modified:   applications/test/Dictionary/Make/files
    modified:   applications/test/Dictionary/Make/options
    modified:   applications/test/Dictionary/Test-Dictionary.C
    modified:   src/OpenFOAM/interpolations/patchToPatchInterpolation/PatchToPatchInterpolation.H
    modified:   src/OpenFOAM/interpolations/primitivePatchInterpolation/PrimitivePatchInterpolation.H
    modified:   src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrix.C
    modified:   src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrix.H
    modified:   src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixATmul.C
    modified:   src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixOperations.C
    modified:   src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixPreconditioner.C
    modified:   src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixSmoother.C
    modified:   src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixSolver.C
    modified:   src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixUpdateMatrixInterfaces.C
    modified:   src/OpenFOAM/matrices/LduMatrix/LduMatrix/SolverPerformance.C
    modified:   src/OpenFOAM/matrices/LduMatrix/LduMatrix/SolverPerformance.H
    modified:   src/OpenFOAM/matrices/LduMatrix/Preconditioners/DiagonalPreconditioner/DiagonalPreconditioner.C
    modified:   src/OpenFOAM/matrices/LduMatrix/Preconditioners/DiagonalPreconditioner/DiagonalPreconditioner.H
    modified:   src/OpenFOAM/matrices/LduMatrix/Preconditioners/NoPreconditioner/NoPreconditioner.C
    modified:   src/OpenFOAM/matrices/LduMatrix/Preconditioners/NoPreconditioner/NoPreconditioner.H
    modified:   src/OpenFOAM/matrices/LduMatrix/Solvers/DiagonalSolver/DiagonalSolver.C
    modified:   src/OpenFOAM/matrices/LduMatrix/Solvers/DiagonalSolver/DiagonalSolver.H
    modified:   src/OpenFOAM/matrices/LduMatrix/Solvers/SmoothSolver/SmoothSolver.C
    modified:   src/OpenFOAM/matrices/LduMatrix/Solvers/SmoothSolver/SmoothSolver.H
    modified:   src/OpenFOAM/meshes/MeshObject/MeshObject.C
    modified:   src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatch.H
    modified:   src/OpenFOAM/meshes/primitiveShapes/objectHit/PointHit.H
    modified:   src/OpenFOAM/meshes/primitiveShapes/objectHit/PointIndexHit.H
    modified:   src/finiteVolume/finiteVolume/fvc/fvcDDt.C
    modified:   src/finiteVolume/finiteVolume/fvc/fvcDDt.H
    modified:   src/finiteVolume/finiteVolume/gradSchemes/LeastSquaresGrad/LeastSquaresGrad.C
    modified:   src/finiteVolume/finiteVolume/gradSchemes/LeastSquaresGrad/LeastSquaresGrad.H
    modified:   src/finiteVolume/finiteVolume/gradSchemes/LeastSquaresGrad/LeastSquaresGrads.C
    modified:   src/finiteVolume/finiteVolume/gradSchemes/LeastSquaresGrad/LeastSquaresVectors.C
    modified:   src/finiteVolume/finiteVolume/gradSchemes/LeastSquaresGrad/LeastSquaresVectors.H
    modified:   src/fvOptions/constraints/general/explicitSetValue/ExplicitSetValue.C
    modified:   src/fvOptions/sources/general/codedSource/CodedSource.C
    modified:   src/fvOptions/sources/general/semiImplicitSource/SemiImplicitSource.C
    modified:   tutorials/combustion/PDRFoam/flamePropagationWithObstacles/0.org/B

no changes added to commit (use "git add" and/or "git commit -a")
 cruz@MacBook-Air-de-Luis  ~/dev/OpenFOAM-3.0.x   master ● 

我什至尝试过提交这些更改,但它不起作用。

git version 2.10.1 Mac OS X 10.10.5

我的 git 配置:

git config -l
core.excludesfile=~/.gitignore
core.legacyheaders=false
core.quotepath=false
core.pager=less
mergetool.keepbackup=true
push.default=simple
color.ui=auto
color.interactive=auto
repack.usedeltabaseoffset=true
alias.s=status
alias.a=!git add . && git status
alias.au=!git add -u . && git status
alias.aa=!git add . && git add -u . && git status
alias.c=commit
alias.cm=commit -m
alias.ca=commit --amend
alias.ac=!git add . && git commit
alias.acm=!git add . && git commit -m
alias.l=log --graph --all --pretty=format:'%C(yellow)%h%C(cyan)%d%Creset %s %C(white)- %an, %ar%Creset'
alias.ll=log --stat --abbrev-commit
alias.lg=log --color --graph --pretty=format:'%C(bold white)%h%Creset -%C(bold green)%d%Creset %s %C(bold green)(%cr)%Creset %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative
alias.llg=log --color --graph --pretty=format:'%C(bold white)%H %d%Creset%n%s%n%+b%C(bold blue)%an <%ae>%Creset %C(bold green)%cr (%ci)' --abbrev-commit
alias.d=diff
alias.master=checkout master
alias.spull=svn rebase
alias.spush=svn dcommit
alias.alias=!git config --list | grep 'alias\.' | sed 's/alias\.\([^=]*\)=\(.*\)/\1\     => \2/' | sort
include.path=~/.gitcinclude
include.path=.githubconfig
include.path=.gitcredential
diff.exif.textconv=exif
credential.helper=osxkeychain
user.name=Luis Cruz
user.email=luismirandacruz@gmail.com
credential.helper=osxkeychain
push.default=simple
core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
core.ignorecase=true
core.precomposeunicode=true
core.autocrlf=true
remote.origin.url=https://github.com/luiscruz/OpenFOAM-3.0.x.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master

git diff 摘录:

-#include "InterfaceCompositionModel.H"
+#include "interfaceCompositionModel.H"
 #include "phaseModel.H"
 #include "phasePair.H"
-#include "pureMixture.H"
-#include "multiComponentMixture.H"
-#include "rhoThermo.H"

-// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
+// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //

我邀请您克隆 repo:

 git clone https://github.com/luiscruz/OpenFOAM-3.0.x.git

【问题讨论】:

  • 我的猜测是,它与您在本地机器上定义 git 的 EOL 的方式有关。您能否添加详细信息,例如 git config -l 的输出以及您拥有的操作系​​统?
  • 我刚刚根据您的要求编辑了问题,@yorammi
  • core.ignorecase=true core.precomposeunicode=true core.autocrlf=true 可能有问题,尤其是忽略大小写
  • 我已经使用git config core.precomposeunicode false 之类的方式更改了它们中的每一个,但问题仍然存在......
  • 这个存储库确实有问题。我还做了一个 git clone 并获得了修改后的文件,但无法摆脱这些更改。那里似乎有某种钩子。我会尽力解决并告诉你

标签: git macos github version-control


【解决方案1】:

比较https://github.com/OpenFOAM/OpenFOAM-3.0.x/blob/master/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrix.Hhttps://github.com/OpenFOAM/OpenFOAM-3.0.x/blob/master/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrix.H

这是 2 个文件,它们的路径仅以大小写不同。您的 MacOsX 很可能具有不区分大小写的文件系统,这会将它们混淆在一起。

从他们的样子我会说这不是故意的,而是因为一些错误。有一些选项可以尝试从中恢复,但我建议先检查官方存储库:http://www.openfoam.com/code/repositories.php,看看是否有同样的问题。

【讨论】:

  • 我提到的 repo 是官方 repo 的一个干净的分支:https://github.com/OpenFOAM/OpenFOAM-3.0.x 你建议从哪些选项中恢复?
  • 官方 repo 不是 github 上的那个。先检查一下
  • 如果你必须使用这个存储库,你应该从结帐中跳过冲突目录,如下所述:stackoverflow.com/a/25023912/2303202。也许您必须将core.ignorecase 设置为false 以使稀疏结帐考虑大小写。虽然我不确定。
  • 这里不是这样。我已经在几个操作系统(Mac、Windows、Ubuntu)上检查了它,并使用了 ignorecase 和 autocrlf 的所有组合,但它仍然失败。如果您深入研究所有差异,您会发现这不仅是大小写问题(小写/大写),而且还有附加或删除的头文件行。似乎是 .git 文件夹中的原始存储库完全错误。
  • @yorammi 我不确认。已经克隆了original repositorymaster 并且它不包含任何更改。 Debian wheezy,ext4 分区,尝试了 2 个版本的 git:一些 2.3.* 和 2.10.1,配置中没有不区分大小写的东西(或多或少是默认的)。在 Windows 的 Mac 中,我猜你会有变化。我不知道你为什么看到 Ubuntu 的变化。也许你以某种方式在不区分大小写的分区上运行它。
【解决方案2】:

此链接可能对您有所帮助,Git refuses to reset/discard files

这主要是导致 Mac、Liunx 和 Windows 换行不同。

【讨论】:

  • 我不需要提交或添加任何东西。当我克隆一个仓库时,我应该得到一个没有任何更改的仓库。
  • 好的,知道了。我为我的误会道歉。所以你可以试试git config --global core.autocrlf input
  • @LuisCruz,我刚刚更新了我的答案并分享了一个可能对你有帮助的链接。请检查它是否可以解决您的问题。
  • 我检查了链接,它似乎与行尾的问题有关。从差异摘录中可以看出,此 repo 并非如此。无论如何,我已经尝试了建议的修复方法,但没有解决问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-14
  • 1970-01-01
  • 2012-09-03
  • 2013-06-04
  • 2014-11-10
  • 1970-01-01
相关资源
最近更新 更多