Die Verwendung von hg und git in demselben Baum birgt keinen inhärenten Konflikt. Da diese Programme unabhängig voneinander entwickelt wurden, liegt es nahe, dass sie sich nicht gegenseitig stören.
In diesem Fall überlagert sich hg jedoch mit git (ein anderer Weg, um festzustellen, dass das git- Repository von der zugrunde liegenden hg- Verzeichnisstruktur abhängt ). Betrachten Sie das folgende Beispiel, in dem Sie bereits den Org-Modus geklont haben und ein Patch aus dem Online-Repository wartet.
So kann hg aussehen, bevor Sie die Änderungen aus git ziehen :
c:\myfiles> hg log -l 1 changeset: 123:da5f372c3901 tag: tip user: John Doe <john@doe.com> date: Fri Jun 13 12:00:00 2014 -0500 summary: Some change in the work files
Anschließend ziehen Sie die Änderungen von git in den org-Modus . Am wichtigsten ist hier jedoch, dass die Pull-Aktion nicht sofort auf das hg- Repository angewendet wird .
Sie können testen, ob die neueren Patches im Org-Modus funktionieren. Wenn sie nicht sofort funktionieren, sollten Sie run ausführen hg revert --all
, wodurch das Repository zum Zeitpunkt der letzten Festschreibung wiederhergestellt wird. Wenn sie funktionieren oder Sie keine Probleme finden, sollten Sie unter hg eine Änderung vornehmen, die darauf hinweist, dass Sie eine Reihe von Änderungen in den Organisationsmodus verschoben haben .
c:\myfiles> hg com -m "Pulling changes in org-mode" c:\myfiles> hg log -l 1 changeset: 124:da5f372c3901 tag: tip user: John Doe <john@doe.com> date: Fri Jun 13 12:01:00 2014 -0500 summary: Pulling changes in org-mode
Wenn git seine Metadaten in Bezug auf das Repository im Ordner org-mode speichert (dh wie hg mit dem Ordner .hg im Stammverzeichnis des Repositorys), sollte es kein Problem mit dem Zurücksetzen des Commits unter hg geben nach dem Feststellen, dass ein Problem mit dem org-Modus vorliegt ):
c:\myfiles> hg rollback rolling back last transaction c:\myfiles> hg log -l 1 changeset: 123:da5f372c3901 tag: tip user: John Doe <john@doe.com> date: Fri Jun 13 12:01:00 2014 -0500 summary: Some change in the work files
Wie in meinen Kommentaren erwähnt, können Sie dies auch unabhängig von der von Ihnen verwendeten VCS-Software ausführen. Wenn Sie haben:
c:\my_repo c:\my_repo\2nd_repo
Es wäre kein Problem, denn um mit jedem Repository arbeiten zu können, müssten Sie in dem Verzeichnis arbeiten, in dem Sie arbeiten.
1 - Ich habe einige Codes von hier angepasst, da ich, wie gesagt, nicht viel Erfahrung mit dem Thema habe