Nach der Migration zu Windows verwende ich msysgit mit der enthaltenen bash-Shell, und das funktioniert gut für mich. Aber ich habe Probleme: Unser Ameisen-Build-Prozess läuft nicht in dieser Shell, ich würde Cygwins xterms anstelle des Windows-Befehlsfensters verwenden, da die Terminal-Kompatibilität nicht gut genug ist, um alles andere auszuführen, was ich möchte dieses Fenster und so weiter.
Ich habe es tatsächlich geschafft, mit msysgit in der Windows-Befehlsshell zu bleiben, so dass ich kein separates Fenster zum Erstellen brauche, aber das hat noch mehr Probleme: das Fehlen von cd
- und Datei Die Vollendung bringt mich um, die meisten Befehle, an die ich mich anschließen möchte, sind nicht vorhanden, etc.
Wenn ich also Cygwins GIT oder, schlimmer noch, beide zu verschiedenen Zeiten benutze, werden mich die Zeilenenden beißen? Wird Cygwins Git erwarten, dass alles \n
ist und denkt, dass es Änderungen sieht, weil mSysGit beim Auschecken in \r\n
konvertiert wurde? Wird Cygwins Git sich als \n
auschecken und meine Windows Eclipse verwechseln, von der ich sicher bin, dass sie alles \r\n
hat?
Wird Cygwins Git sich als \ n und auschecken Verwechsle meine Windows Eclipse, die ich bin sicher will alles sein \ r \ n?
Die meisten modernen Anwendungen (einschließlich Eclipse) können \ n nur perfekt \ n verwenden.
Es gibt einige ärgerliche Ausnahmen (z. B. E-Mail-Protokoll), aber in den meisten Fällen können Sie einfach \ n für alles verwenden.
Also, wie vonC sagt, deaktivieren Sie einfach die AutoRF Einstellung und es wird in Ordnung sein.
Wenn Sie nur mit msysGit arbeiten, werden Sie nicht gerettet. Ich hatte ein Problem, bei dem jede einzelne Quelldatei wegen des Problems mit der Zeilenendung als geändert angezeigt wurde, wenn verschiedene Versionen von msysGit verwendet wurden. Das Setzen von core.autocrlf in der git config Datei hat es behoben.
Ich habe Kopfschmerzen am Zeilenende. Ich benutze Cygwin Git, und es melden immer neu ausgecheckte Textdateien als "modifiziert". Als ich "core.autocrlf" von "true" in "input" änderte, verschwanden zehn von fünfzehn Dateien aus der modifizierten Liste, und die restlichen 5 verschwanden, nachdem ich "core.autocrlf" auf "false" gesetzt hatte.
Ich kann wegen meines schlechten Rufs nicht für die VonC-Lösung stimmen, aber ich würde sagen, dass es für mich funktioniert.
Ich habe core.autocrlf in msysgit auf false gesetzt und habe cygwin standardmäßig installiert.
Ich hatte Probleme beim Auschecken von einer Eingabeaufforderung mit Cygwin-Tools und den Mingw-Tools, die mit msysgit geliefert wurden, wegen offensichtlicher Änderungen in Dateimodi (755 schien in jeder Datei auf 644 zu ändern). Dies scheint ein Problem bezüglich des ausführbaren Bits zu sein. Git Reset hat nicht geholfen.
Der erste Klon aus dem msysgit-GUI-Fenster verursachte dieses Problem jedoch nicht, und jetzt scheint es mir frei zu sein, cygwin entweder aus seiner eigenen bash-Shell oder einer Eingabeaufforderung oder msysgit aus seiner bash-Shell zu verwenden. Mit anderen Worten, alles scheint glücklich zu sein.
Unter dem Strich, wenn Sie sehen, dass sich jede Datei ändert und Zeilenenden nicht die Ursache des Problems zu sein scheinen, versuchen Sie es mit der GUI.
Nach dem Debuggen für eine Weile habe ich es für meinen Fall gelöst. Ich habe die id_rsa-Datei von einer Linux-Partition auf Umwegen kopiert und die Zeilenenden im LF (Unix) -Format belassen. Öffnen der Datei in Eclipse und Konvertieren der Zeilenenden in Windows behoben. Außerdem habe ich GIT_SSH auf Plink (von Putty) gesetzt und folge diesen Anweisungen: Ссылка