Wie nehme ich alle Änderungen von einem entfernten?
Frage
Ich mache ein Pull Ursprung some_branch und sehen viele Veränderungen gibt. Schließlich habe ich nichts dagegen, wenn ihre erase all mine.
Wie kann ich sie akzeptieren alle statt oder mit mergetool und Merge-Dateien nacheinander?
Lösung
Just:
git clone $url
Im Ernst! Das ist der beste Weg.
Sie können alle Arten von git reset
und git branch
Befehlen tun, um den Refs zu bewegen, aber der einzige Zweck wäre Ihre Commits für die Zukunft in Ihrem lokalen Repository irgendwo zu halten. Wenn das Ziel ist, einfach das ganze Repository halten wie es ist, und Re-Klon, den Ursprung.
Um alle Änderungen zu übernehmen nur auf einen Zweig, foo
:
git checkout foo
git fetch origin +refs/heads/foo:refs/remotes/origin/foo
git reset refs/remotes/origin/foo
foo
wird zeigen nun auf das gleiche wie foo
auf origin
begehen. Wenn Sie die Dateien in Ihrem Arbeitsverzeichnis wegblasen wollen, fügen Sie --hard
zu git reset
. Wenn Sie zum ersten Mal zusammenführen möchten, ersetzen fetch
mit pull
.
Sie können in Ihrem lokalen Repo ein Bündel von baumelnden Commits haben, die git vielleicht einen Tag clean-up, aber für eine Weile können Sie immer noch Zugriff auf diese über die reflog.
Andere Tipps
Oder:
git status | grep "both " | cut -f2 | cut -f11 -d" " | xargs git checkout --theirs
git status | grep "both " | cut -f2 | cut -f11 -d" " | xargs git add
die Kräfte alle in Konflikt Remote-Dateien zu akzeptieren.
Hier ist der Ansatz, den ich verwenden, die in Ordnung zu sein scheint. Ich habe einen Zweig „ihre“ genannt, die die neue Version von allem in der Fernbedienung enthält. Eine Version namens „ours“ ist meine Arbeit an einer vor langer Zeit Version von ihnen basiert, die zu viele irrelevanten Änderungen aber viele Ergänzungen (neu Unterverzeichnisse Websites / all), dass ich bleiben soll.
git checkout ours
git checkout theirs -- *.php *.txt *.config modules themes includes scripts
git commit -m "New version with all new key files from 'theirs'"
Solange ich die Liste der Dateien und Verzeichnisse in der zweiten Kasse bekam richtig ist, sollte dies in Ordnung sein.
Wenn ich die Geschichte wollte auf „ihre“ Zweig zu beruhen Ich möchte könnte diese umgekehrt tun.