2012-06-18 14 views
11

Ich möchte nur meine lokalen Dateien mit git aktualisieren. aber jedes Mal, wenn ich versuche, zu ziehen, bekomme ich Fehler und sage, dass ich bestimmte Datei zuerst begehen muss. Was ist der Weg, um lokale Datei ohne Commit zu aktualisieren ??git pull (nur lokale Datei aktualisieren)

hier ist die Fehlermeldung

git $ Passwort für Schlüssel '/c/Users/me/.ssh/id_rsa' Enter ziehen: aktualisiert 4dsdSe6e..70fb5b6 Fehler: Ihre lokale Änderungen an folgende Dateien würden durch Zusammenführen überschrieben: grails-app/conf/DataSource.groovy Bitte, bestätigen Sie Ihre Änderungen oder verberge sie, bevor Sie zusammenführen können. Abbrechen

Antwort

19

Wenn Sie nicht wollen, Um zu begehen, müssen Sie Ihre Änderungen speichern. Das klingt wie das, was Sie suchen:

git stash save "Changes I don't want to commit yet" 
git pull 
git stash pop 

Die erste Zeile, um die Änderungen auf einen Stapel stashes und kehrt den Code zur letzten begehen. Von dort können Sie wie normal ziehen. Sobald Sie die Änderungen vorgenommen haben, fügen Sie sie in Ihren Code ein. Hier können Sie einen Pull ausführen, ohne Ihren Code zu übergeben. Sie können mehr über das Verstecken here erfahren.

Hoffe, dass geholfen hat!

+0

Danke das ist genau das, was ich brauchte. – LynAs

+2

Kein Problem. Beachten Sie jedoch, dass das Übertragen Ihrer Änderungen nicht dasselbe ist wie das Verschieben in das Remote-Repository. Es ist eine gute Übung, früh und oft in Git zu begehen. Wenn Sie aus einem CVS-Hintergrund kommen, mag das seltsam erscheinen, aber es ist Teil dessen, was Git so mächtig und vielseitig macht. – bilalq

+0

Danke das war hilfreich – LynAs

3

Sie versuchen, einige Dateien zu ziehen, die Ihre Änderungen löschen. Erstens, verpflichten Sie Ihre Änderungen mit:

git commit -a -m "I have changed XXXX" 

dann andere ziehen:

git pull 

Wenn keine Probleme, lösen Sie Ihre Änderungen drücken können:

git push