2016-09-01 4 views
0

Ich habe einige lokale Änderungen in Code in Git Repo gespeichert. Ich brauche diese Änderungen nicht mehr, daher möchte ich sie verwerfen und eine saubere Kopie von GitHub erhalten.Git - Lokale Änderungen zurücksetzen

Wenn ich einen Git-Pull gemacht habe, gab es mir einen Merge Konflikt Fehler.

So habe ich

git reset --hard 

aber das half nicht. Ich habe auch versucht

git stash 

aber immer noch, wenn ich versuche, von Github ziehen, erlaubt es mir nicht, dies zu tun.

Kann jemand bitte vorschlagen, was wäre der beste Ansatz, um den neuesten Code von Github zu bekommen. Sollte ich nur die lokalen Dateien löschen und dann einen git ziehen?

+0

Es wäre toll, wenn Sie nach, was Fehler Sie sind bekommen. Was ist genau "Merge Conflict Error" und was Github "lässt es nicht zu". – Paul

Antwort

0

Wenn Sie nur den neuesten Code auf der Fernbedienung erhalten möchten, können Sie das tun.

rm -rf ./gitProject 

git clone yourRemoteRepo 
+1

Ich bin skeptisch gegenüber dem Löschen des lokalen Projekts, es sei denn, es gibt keinen besseren Weg. Ein Löschen bewirkt, dass die Dateien, die nicht Teil des Repos sind (und in .gitignore erwähnt werden) ebenfalls gelöscht werden. Alles, was ich will, ist, dass meine lokale Kopie mit dem überschrieben wird, was im Remote-Repo vorhanden ist. – swati

0

Versuchen:

git checkout -f 

Für eine große Diskussion über die Unterschiede zwischen git reset und git checkout finden Sie unter:

https://git-scm.com/book/en/v2/Git-Tools-Reset-Demystified#_git_reset

+0

Ich habe eine git checkout -f und dann git ziehen, aber es klagte immer noch über Konflikte. Ich möchte, dass meine lokale Kopie mit dem überschrieben wird, was im Remote-Repository vorhanden ist. Ich möchte nicht zusammenführen. – swati

+0

Der von mir empfohlene Befehl wird Ihre lokalen Änderungen nicht beseitigen. Um das zu tun, können Sie das gesamte Git-Verzeichnis löschen und es erneut klonen. Alternativ schauen Sie sich diesen Thread an: http://stackoverflow.com/questions/1628088/reset-local-repository-branch-to-be-just-like-remote-repository-head –

1

ich tun würde:

git reset --hard {remote_name_here}/{branch_name_here}

+0

Nach dem Git Reset --hard Master, wann Ich habe einen git ziehen, es beschwerte sich immer noch über Konflikte und fragte mich, – swati

+0

zusammenzuführen Deshalb habe ich mit der Fernbedienung angegeben; Wenn Sie dem Befehl die Fernbedienung hinzufügen (wahrscheinlich "Herkunft"), wird die Version verwendet, die von dieser Fernbedienung stammt. – AgentAntelope

0

Wenn Sie Ihre lokalen Änderungen alle und bekommen auszulassen nur diejenigen von Github können Sie einfach Ihre .git Ordner löschen und neu zu initialisieren es, wie folgt aus:

rm -rf .git 
git init 
git remote add origin http://yourGithubUrl.com 
git pull 
+0

Wollte verstehen, warum dies abgelehnt wurde? Gibt es potenzielle Herausforderungen, denen ich begegnen könnte, wenn ich das tue? – swati

+0

Nun, ich kann den Punkt auch nicht sehen. Was Sie dabei haben werden, ist eine neue Kopie Ihres Projekts. Wenn Sie irgendwelche Zweifel haben, können Sie Ihren Projektordner kopieren und ohne Angst in dem neuen testen –

Verwandte Themen