検索

ホームページ  >  に質問  >  本文

windows平台git每次都会出现莫名其妙的许多changs,但是对比后又没有发现不同

我在bitbucket.org上有一个git库,方便我在单位和家里的机子上同步代码,但是每次从服务器上拉下来代码都会出现很多修改,重新clone也不行,用文件对比工具查看也没有看到修改。

怀疑是line endings的问题,把git重新安装了下,选择了checkout what,commit what那个选项,仍然不行,求解释求指导,谢谢 o(╯□╰)o

-----补充----

现在确定是line endings问题了,下面是commit的log,一满屏,都是这样的。怎么设置?需要重新安装还是修改配置?
另外这个问题是什么原因导致的呢?我两台机子上设置的一样呀,难道是服务器给转了?

The file will have its original line endings in your working directory.
warning: CRLF will be replaced by LF in src/Presentation.Seedwork/Resources/Mess
ages.Designer.cs.
The file will have its original line endings in your working directory.
37 files changed, 3234 insertions(+), 3234 deletions(-)

大家讲道理大家讲道理2775日前929

全員に返信(3)返信します

  • phpcn_u1582

    phpcn_u15822017-04-25 09:05:49

    ローカル リポジトリに設定してみてください

    リーリー

    返事
    0
  • 我想大声告诉你

    我想大声告诉你2017-04-25 09:05:49

    あなたの説明によると、あなたの会社とご自宅では異なるオペレーティング システムを使用しているようです。改行文字の違いにより、Git はファイルの内容が変更されたと判断します。これを設定すると、Git がインテリジェントに変換できるようになります:

    1. Windows システムでは、Git をインストールするときに、オプション core.autocrlftrue に設定する必要があります。これは、次の図に示されています。
      core.autocrlftrue,也就是下图所示的那一个:

    2. 在 Linux/Unix/Mac 系统下,一般来说保持默认设置就好了(没有安装界面供选择)。当然你可以手工编辑 ~/.gitconfigcore.autocrlfinput,如我机器上的设置:

    以上两种设置最终的结果就是提交的时候 Git 总是将换行符自动转为 LF,并且在 Windows 下 checkout 回来时自动帮你转换为 CRLF,以便适应 Windows 下的编辑器。

    如果你做了上述设置依然会碰到题目中描述的问题,那么不用想,一定是你的团队中另外有别的成员没有做对以上两点的设置(很大的可能性是使用 Windows 的),你们可以逐一排查。

    另外,安装 Windows Git 时另外一个设置也比较让人费解,建议选下图这样的:

    选择这种,所需要的配置量最少,CLI 和 Linux 的兼容性也比较高,唯一的缺陷就是 Windows CLI 里和 Linux 重名的命令会被 Linux 版本覆盖掉,比如 find

  • 🎜 Linux/Unix/Mac システムでは、一般的に、デフォルト設定をそのまま使用してください (インストール インターフェイスを選択することはできません)。もちろん、~/.gitconfig を手動で編集し、私のマシンの設定のように core.autocrlfinput に設定することもできます。
    🎜 🎜上記 2 つの設定の最終結果は、Git は送信時に常に改行を LF に自動的に変換し、Windows コードで checkout から戻るときに自動的に < に変換します。 >CRLF を使用して Windows のエディタに適応させます。 🎜 🎜上記の設定を行っても、質問に記載されている問題が引き続き発生する場合は、それについて考えないでください。チームの他のメンバーが上記 2 つの点の設定を行っていない可能性があります (おそらく、そうなっている可能性が高いです)。 Windows を使用する場合))、それらを 1 つずつ確認できます。 🎜 🎜さらに、Windows Git をインストールするときの別の設定もわかりにくいため、以下に示す設定を選択することをお勧めします。 🎜🎜 🎜このオプションを選択すると、必要な設定は最小限で、CLI と Linux 間の互換性は比較的高くなります。唯一の欠点は、Windows CLI と Linux で同じ名前のコマンドが Linux バージョンによって上書きされることです。 code>find など。私の意見では、Windows CLI はとにかくゴミであり、それがカバーされているかどうかは問題ではありません。 🎜

    返事
    0
  • PHP中文网

    PHP中文网2017-04-25 09:05:49

    行末を比較できることは、あらゆる比較ツールの基本機能です

    返事
    0
  • キャンセル返事