Heim > Artikel > Betrieb und Instandhaltung > So lösen Sie Git-Merge-Konflikte
Angenommen, Sie und ich bearbeiten gemeinsam denselben Namen index.html
Datei. Ich habe Änderungen an der Datei vorgenommen, sie festgeschrieben und die Änderungen in das Git-Remote-Repository übertragen. Sie haben auch Änderungen an derselben Datei vorgenommen, einen Commit durchgeführt und begonnen, Änderungen an dasselbe Git-Repository zu übertragen. Git hat jedoch einen Konflikt festgestellt, da die von Ihnen vorgenommenen Änderungen mit den von mir vorgenommenen Änderungen in Konflikt stehen. index.html
的文件。我对文件进行了修改,进行了提交,并将更改推送到 Git 远程仓库。你也对同一个文件进行了修改,进行了提交,并开始将更改推送到同一个 Git 仓库。然而,Git 检测到一个冲突,因为你所做的更改与我所做的更改冲突。
以下是你可以解决冲突的方法:
1、从远程仓库获取并合并最新更改:
$ git pull
2、识别一个或多个有冲突的文件:
$ git status
3、使用文本编辑器打开冲突文件:
$ vim index.html
4、解决冲突。冲突的修改会被标记为 <<<<<<< HEAD
和 。你需要选择要保留和放弃哪些修改,并手动编辑文件以合并冲突的修改。
以下是一个示例:
<<<<<<< HEAD<div ><h1>Sample text 1</h1></div>=======<div ><h1>Sample text 2</h1></div>>>>>>>> feature-branch
在这个例子中,我将网站标题更改为 Sample text 1
,而你将标题更改为 Sample text 2
。两种更改都已添加到文件中。现在你可以决定保留哪一个标题,或者编辑文件以合并更改。在任一情况下,删除指示更改开始和结束的标记,只留下你想要的代码:
<div ><h1>Sample text 2</h1></div>
5、保存所有更改,并关闭编辑器。
6、将文件添加到暂存区:
$ git add index.html
7、提交更改:
$ git commit -m "Updated h1 in index.html"
此命令使用消息 Resolved merge conflict
$ git push
rrreee
3. 🎜rrreee🎜 4. Konflikte lösen. Widersprüchliche Änderungen werden als<<<<<<< HEAD
und Sie müssen auswählen, welche Änderungen beibehalten und verworfen werden sollen, und die Datei manuell bearbeiten, um widersprüchliche Änderungen zusammenzuführen. 🎜🎜Hier ist ein Beispiel: 🎜rrreee🎜In diesem Beispiel habe ich den Website-Titel in Beispieltext 1
und Sie ändern den Titel in Beispieltext 2
Beide Änderungen wurden der Datei hinzugefügt. Jetzt können Sie entscheiden, welchen Header Sie behalten möchten, oder die Datei bearbeiten, um die Änderungen zu übernehmen. Entfernen Sie in jedem Fall die Markierungen, die den Beginn und das Ende der Änderungen anzeigen, und lassen Sie nur den gewünschten Code übrig: 🎜rrreee🎜 5. Speichern Sie alle Änderungen und schließen Sie den Editor. 🎜🎜6. Dateien zum Staging-Bereich hinzufügen: 🎜rrreee🎜7. Änderungen einreichen: 🎜rrreee🎜Dieser Befehl verwendet die Nachricht Zusammenführungskonflikt behoben
Änderungen einreichen. 🎜🎜8. Push-Änderungen an das Remote-Repository: 🎜rrreee🎜Fazit🎜🎜Merge-Konflikte sind ein guter Grund, sich auf Ihren Code zu konzentrieren. Je mehr Änderungen Sie an einer Datei vornehmen, desto leichter können Konflikte entstehen. Sie sollten mehr Commits durchführen und jeder Commit sollte sich weniger ändern. Sie sollten es vermeiden, monolithische große Änderungen vorzunehmen, die mehrere Funktionserweiterungen oder Fehlerbehebungen umfassen. Auch Ihr Projektmanager wird es Ihnen danken, denn Commits mit klarer Absicht sind einfacher zu verfolgen. Es mag beängstigend sein, wenn Sie zum ersten Mal auf einen Git-Merge-Konflikt stoßen, aber jetzt, da Sie wissen, wie Sie ihn lösen können, werden Sie feststellen, dass die Lösung einfach ist. 🎜
Das obige ist der detaillierte Inhalt vonSo lösen Sie Git-Merge-Konflikte. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!