1

我的电脑上安装了两个 git,

  1. 一个用于 babun(基本上是带有一堆漂亮插件的 cygwin),git 是通过安装的pact install
  2. 一个用于命令提示符,它是 Windows 的官方 git 二进制文件。

有趣的是,使用 babun 的 git 所做的提交并没有反映在 git for Windows 上。例如,对于同一个 git 仓库,这是 babun 的 git 的结果。

git status                                                                       ~/apps/med-prerate-general
On branch dev
Your branch is ahead of 'origin/dev' by 1 commit.
  (use "git push" to publish your local commits)
nothing to commit, working directory clean

这是 git for Windows 的结果

git status
On branch dev
Your branch is ahead of 'origin/dev' by 1 commit.
  (use "git push" to publish your local commits)

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:   somefile.iml

no changes added to commit (use "git add" and/or "git commit -a")

什么可能导致这种情况?我需要结果保持一致,因为 intellij 只能使用原生 git,它看不到我使用 babun 的 git 所做的更改。

4

2 回答 2

4

问题是babun没有正确处理行尾。以下行解决了我的问题。

git config --global core.autocrlf input
于 2016-10-27T05:56:23.820 回答
0

什么可能导致这种情况?

要么~/apps/med-prerate-general不是 IntelliJ 使用的实际相同的 Windows 路径(即,您正在查看同一个远程存储库的两个不同路径)

或者~/apps/med-prerate-general使用位于其他地方的自己的.git文件夹(查找GIT_DIR环境变量)。在那个.gitrepo.iml中,不会被跟踪和忽略。(检查git check-ignore -v -- somefile.iml

于 2016-10-21T06:47:21.173 回答