Diese Woche hatte ich die Gelegenheit, mich intensiver mit der Verwendung von Git Rebase zu befassen, während ich die Codebasis für mein VShell-Tool umgestaltete. Meine Hauptaufgabe bestand darin, die Struktur und Wartbarkeit des Codes zu verbessern und dabei das DRY-Prinzip (Don't Repeat Yourself) einzuhalten, das wesentlich ist, um Code lesbarer, wartbarer und einfacher zu debuggen. Darüber hinaus habe ich verschiedene im Refactoring-Katalog beschriebene Refactoring-Muster befolgt, z. B. das Extrahieren von Funktionen, das Extrahieren von Klassen und das Umbenennen von Variablen.
Bevor ich auf die Details meiner Refactoring-Bemühungen eingehe, werde ich Entwicklern, die sich noch mit dieser leistungsstarken Git-Funktion vertraut machen, einen Überblick über den Git-Rebase-Prozess geben.
Grundlegende Befehle:
git rebase
git rebase
Beispiel: Normalerweise würden Sie den Themenzweig auschecken und git rebase ausführen, aber dieser Befehl ermöglicht ein Rebasing, während Sie im Basiszweig bleiben.
Konfliktbehandlung:
Interaktive Rebase:
Wichtige Hinweise::
→ Rebasieren Sie lokale Änderungen, bevor Sie Ihre Arbeit bereinigen, aber rebasieren Sie niemals etwas, das Sie irgendwohin verschoben haben.
Erstellen eines Refactoring-Zweigs
Um zu verhindern, dass der aktuelle Arbeitscode beschädigt wird, habe ich einen separaten Refactoring-Zweig basierend auf dem Hauptzweig erstellt. Dadurch konnte ich sicher mit Änderungen experimentieren.
Analyse und Refactoring des Codes
Obwohl ich zunächst ein modulares Muster auf den VShell-Code angewendet habe, waren weitere Verbesserungen erforderlich, um größere Module aufzuteilen und einen besser lesbaren Codefluss zu schaffen.
ai_config/grogConfig.js:
src/ai.js:
src/getFileContent.js:
Nachdem während des Refactoring-Prozesses 11 Commits vorgenommen wurden, wurde es notwendig, diese zu konsolidieren. Um den Commit-Verlauf sauber zu halten, habe ich ein interaktives Rebase durchgeführt mit:
git rebase main -i
VSCode, konfiguriert als mein Git-Editor, hat mich dazu aufgefordert, die Commits zu unterdrücken. Nach dem Squash hatte ich einen einzigen Commit mit allen relevanten Änderungen. Ich habe dann git commit --amend verwendet, um die Commit-Nachricht zu aktualisieren, anstatt vor dem Zusammenführen in den Hauptzweig einen neuen Commit zu erstellen.
本周 git rebase 的经验为我提供了宝贵的见解。 Rebase 是维护干净、线性提交历史记录、避免不必要的合并的重要工具。通过掌握 git rebase,我现在能够有效地组织提交消息,最大限度地减少混乱并确保简化的开发工作流程。
重构工作改进了 VShell 代码库的结构和可维护性。通过应用提取函数和类等关键设计模式,我使代码库更加模块化、可重用,并且更易于后续工作。
以上是VShell 工具的 Git Rebase 和代码重构的详细内容。更多信息请关注PHP中文网其他相关文章!