2012-10-13 22 views
23

Git repo içeren bir web sitem var. Repo'yu klonladım, böylece bir dizinde geliştirdim ve ardından repoya geçtim, sonra da/prod dizinini çek. (Eğer bir tane varsa bunu yapmanın daha iyi bir yolu için önerilerle ilgilenecekti, ama bu dışarıda. bu sorunun kapsamı).diff, tüm dosyaları aynı dosya için döndürme

git add . 
git commit -a // added a message 
git push 

Sonra dev dizininde aşağıdaki yaptılar: O zaman iki dosya açıldı

git clone [email protected]:user/repo.git 

, eşya

Ben bütün son değişiklikleri itmek canlı dizinde aşağıdaki yaptılar /root/test.php ve dev/root/test.php ve aynı görünüyorlardı. Aşağıdaki diff komutunu yaptığında Ancak, dosyanın tamamını outputted:

diff prod/root/test.php dev/root/test.php 

Ben üzere karıştı neden fark çıktılayacaktır tüm dosya onlar özdeş ... Ben de bu googling çalıştı eğer ve Bu problemle başka birini bulamıyorum. Belki de bir satır sonlar sorunu veya aynı baktıkları bir karakter kodlama sorunu var ama aslında farklı ve git/bitbucket repo için zorladığınızda onu dönüştürür? Düşünebildiğim tek şey bu ... Ya da gerçekten bir şeyleri özlüyorum. Genellikle satır sonları farklıdır demektir

1,3c1,3 
< <? 
< echo '<p>Hello world!</p>'; 
< ?> 
--- 
> <? 
> echo '<p>Hello world!</p>'; 
> ?> 

cevap

27

Gelecekte bunlardan kaçınmak için, bunları normalleştirmek için Git'i ayarlayabileceğiniz bir boşluk sorunu gibi görünüyor.

Windows ve UNIX sistem aynı hat bitmeyen bu dayalı gerçekleştiği, anlaşmazlık önlemek için, kurulum sen git'e gerektiğini CONFIG bu şekilde kullanmayın:

  • , Windows: git config --global core.autocrlf true
  • Unix: git config --global core.autocrlf input

Daha sonra, bu yapılandırma Opti ayarlayabilirsiniz, sadece ideal bir boşluk kurallara işlemek emin olmak için üzerinde:

git config --global core.whitespace trailing-space,space-before-tab,indent-with-non-tab 
2

:

Çıktı İşte. Çoğu diflim programı, satır sonlarındaki farkları görmezden gelmenizi sağlar. Seninki bunu yapmana izin veriyor mu?

12

Büyük olasılıkla satır sonlandırmadır. git diff --ignore-space-at-eol'u deneyin. Düz (git değil) için ise diff -b.

İlgili konular