当我在本地计算机上克隆特定存储库时,某个文件似乎每次都被标记为已更改。我不希望这个文件被更改,但我不能因为它而切换分支。
我从远程克隆存储库,然后立即进入文件夹并检查git status:
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: www/applications/nexus/sources/Purchase/LicenseKey/MdFive.php
当我在文件上执行git diff时,这就是我得到的:
diff --git a/www/applications/nexus/sources/Purchase/LicenseKey/MdFive.php b/www/applications/nexus/sources/Purchase/LicenseKey/MdFive.php
index 915cb4f..8553ac1 100644
--- a/www/applications/nexus/sources/Purchase/LicenseKey/MdFive.php
+++ b/www/applications/nexus/sources/Purchase/LicenseKey/MdFive.php
@@ -22,7 +22,7 @@ if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
/**
* License Key Model - MD5
*/
-class _MdFive extends \IPS\nexus\Purchase\LicenseKey
+class _Mdfive extends \IPS\nexus\Purchase\LicenseKey
{
/**
* Generates a License Key
基本上MdFive已经变成了Mdfive。
我试过:
git checkout www/applications/nexus/sources/Purchase/LicenseKey/MdFive.php
但是当我执行git status和/或git diff时,文件仍然以相同的变化显示。这是怎么回事?
我有一台配备Git版本2.3.2的Mac。在另一个使用Git 1.7.1的环境中,它不会发生。
答案 0 :(得分:1)
git checkout www/applications/nexus/sources/Purchase/LicenseKey/MdFive.php
git status
modified: www/applications/nexus/sources/Purchase/LicenseKey/Mdfive.php
git checkout www/applications/nexus/sources/Purchase/LicenseKey/Mdfive.php
git status
modified: www/applications/nexus/sources/Purchase/LicenseKey/MdFive.php
它继续在循环中这样做......
这意味着您有一个设置(或content filter driver),可在结帐时自动应用更改。
一个常见的是eol(行尾:lf与crlf)的变化,因为git config core.autocrlf设置为input而不是false。