Konflikte in Gemfile.lock beim Rebasing

Lesezeit: 2 Minuten

Welche Strategien haben die Leute, um Gemfile.lock-Konflikte beim Rebasing in Git zu lösen?

Ich muss dies in einem neueren Projekt häufig tun, und es ist nicht nur mühsam, es ist auch nicht immer klar, wie die Zusammenführung durchgeführt wird.

  • Dieses Problem ist mir passiert, weil ich verwirrt war, in welchem ​​​​Zweig ich war. Die Lösung bestand darin, mir auf die Stirn zu schlagen und zum richtigen Zweig zurückzukehren, und die Konfliktkonfliktfehler Gemfile.lock verschwanden.

    – Eric Leschinski

    15. Juni 2016 um 13:15 Uhr


Benutzer-Avatar
VonC

Sie könnten es bei jeder Zusammenführung neu sperren, durch a Treiber zusammenführen (die ich normalerweise verwende, um während einer Zusammenführung immer die lokale Version einer Datei beizubehalten).

Sehen “Gemfile.lock automatisch zusammenführen” aus Will Leinweber:

Alles, was Sie tun müssen, ist laufen bundle lock (veraltet in Rail3) bundle install bekommen bundler zum erneuten Sperren, fügen Sie das hinzu und setzen Sie Ihre Rebase fort.

Zuerst ist dein ~/.gitconfig Datei.
Hier werden wir ihm eine neue Zusammenführungsstrategie geben, eine, die nur die Gemfile neu sperrt.
Fügen Sie dies am Ende hinzu:

[merge "gemfilelock"]
  name = relocks the gemfile.lock
  driver = bundle install

Als nächstes müssen wir git anweisen, unsere neue Strategie für zu verwenden Gemfile.lockund das machen wir mit gitattributes.
Das kannst du entweder eintragen project/.git/info/attributes oder project/.gitattributes.

Gemfile.lock merge=gemfilelock

  • laut Bundle ist Bundlelock obsolet. stackoverflow.com/questions/4410116/… gibt es eine aktualisierte Lösung dafür???

    – rickypai

    13. Januar 2013 um 22:57 Uhr


  • @rickypai ja, ich habe die folgende Antwort aktualisiert bitfission.com/blog/2010/07/…: bundle install ist das neue Schloss.

    – VonC

    14. Januar 2013 um 7:42 Uhr

Verwenden git log Gemfile.lock um den Hash eines vorherigen Commits zu finden. Dann renne git checkout abcde Gemfile.lock zurück zu kehren. Dein bundle install Befehl sollte danach funktionieren.

Sie können dieses Skript verwenden, um automatisch ein Git-Repository einzurichten, um die erwähnte Merge-Auflösungsstrategie zu verwenden: https://gist.github.com/itspriddle/5548930

Alternativ können Sie die Verbindung von tpope verwenden, um dies automatisch zu tun (und Datenbankmigrationen auszuführen), nachdem Git Pulls ausgeführt wurden: https://github.com/tpope/hookup

1217190cookie-checkKonflikte in Gemfile.lock beim Rebasing

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy