Heim  >  Artikel  >  Entwicklungswerkzeuge  >  Lassen Sie den Git-Rollback-Code verstehen (detaillierte Beispiele)

Lassen Sie den Git-Rollback-Code verstehen (detaillierte Beispiele)

WBOY
WBOYnach vorne
2022-02-15 17:39:296659Durchsuche

Dieser Artikel vermittelt Ihnen relevantes Wissen über GitRollback-Code, ein verteiltes Open-Source-Versionskontrollsystem, das die Versionsverwaltung von kleinen bis sehr großen Projekten effektiv bewältigen kann hilfreich.

Lassen Sie den Git-Rollback-Code verstehen (detaillierte Beispiele)

Im täglichen Codierungsprozess sind Zusammenführungen zwischen Zweigen, Rollbacks, Übermittlungen, Markierungen und andere Vorgänge unvermeidlich, wenn Sie immer noch nicht wissen, wie Sie den Code mit dem Git-Tool zurücksetzen sollen, oder sich ständig Sorgen machen Wenn Sie Fehler machen, sind Sie sich nicht sicher. Es ist sehr gefährlich, den Code zu verlieren. Es kann zu geringen Leistungseinbußen oder zu vielen Punkten führen Ich habe das Glück, diesen Artikel zu lesen. Nach dem Lesen liegt kein Codeverlust vor, da ich Sie Schritt für Schritt durch den Aufbau eines Zweigs führen werde, um die häufige Rollback-Situation zu simulieren /gɪt/) ist ein verteiltes Open-Source-Versionskontrollsystem, das von der Versionsverwaltung kleiner bis hin zu sehr großen Projekten effektiv und schnell arbeiten kann.

Vorwort

Beim täglichen Code-Rollback gibt es zwei häufig verwendete Methoden: git revert und git reset für das Rollback. Diese beiden Methoden entsprechen unterschiedlichen. Ich werde mein Bestes geben Um auf einfache und klare Weise vorzustellen, was diese beiden Befehle bewirken können, werde ich als Nächstes einen neuen Zweig aus meinem persönlichen Lagerhaus ziehen und zwei Zweige erstellen, nämlich den Hauptzweig master und den Entwicklungszweig develop für die Simulation

Reset-Einführung

1 Die Funktion von reset besteht darin, commit vollständig zu übermitteln aus dem Verlauf verschwinden, können Sie

2 verwenden. Wenn Sie beispielsweise drei Datensätze im Zweig master übermittelt haben, A-->B-->C , wenn es zu diesem Zeitpunkt ein Problem mit Datensatz C gibt und Sie zu B zurückkehren möchten, können Sie dazu git reset verwendengit revertgit reset来进行回滚,这两种分别对应的不同的情况我尽量简单明了的介绍这两个命令都能做些什么,接下来我会从个人仓库新拉个分支从0开始,建两个分支,分别是主分支master和开发分支develop来进行模拟

reset介绍

1、reset的作用是当你希望提交的commit从历史记录中完全消失就可以用

2、比如你在master分支提交了A-->B-->C提交了三个记录,这个时候如果C记录有问题你想回滚到B就可以用git reset进行

3、这个命令大概率的情况都是用在我们主分支的,因为我们上线的分支一般是master分支然后从develop进行功能开发

4、开发完成之后将分支合并到master,如果在上线之前发现合并的分支用问题可以将develop合并过来的分支进行回滚

5、说白了就是取消develop的本次合并

6、但是有一种情况就是协作开发的时候大家都合并到master之后就不能用reset强行回滚commit因为这样会把其他人的提交记录给冲掉,这时候就可以用revert来进行操作我们在下面说

制造一个分支模拟环境

1.从你自己的git仓库创建一个新项目之后拉到本地

2.创建一个index.js随便写点东西,之后提交到仓库

Lassen Sie den Git-Rollback-Code verstehen (detaillierte Beispiele)

3.我们在终端使用git log查看commit可以看到目前只有一个刚才提交的commit

Lassen Sie den Git-Rollback-Code verstehen (detaillierte Beispiele)

4.我们从master分支迁出一个develop分支git branch develop,并且切换到该分支 git checkout develop

5.在develop

3 Dieser Befehl wird höchstwahrscheinlich in unserem Hauptzweig verwendet , weil wir online sind Der Zweig ist normalerweise der Zweig master und dann wird die funktionale Entwicklung von develop aus durchgeführt

Lassen Sie den Git-Rollback-Code verstehen (detaillierte Beispiele)4 Nachdem die Entwicklung abgeschlossen ist, führen Sie den Zweig in master. Wenn es ein Problem mit dem zusammengeführten Zweig gibt, können Sie den zusammengeführten Zweig von develop zurücksetzen. Dies bedeutet, dass die Zusammenführung von develop abgebrochen wird.

6 Es gibt jedoch eine Situation: Während der kollaborativen Entwicklung können Sie reset nicht verwenden, nachdem alle mit <code>master zusammengeführt wurden um ein Rollback von commit zu erzwingen, da dadurch die Übermittlungsdatensätze anderer Personen an Flush übertragen werden. Anschließend können Sie revert verwenden, um den Vorgang auszuführen. Wir werden weiter unten darüber sprechen

Lassen Sie den Git-Rollback-Code verstehen (detaillierte Beispiele)Erstellen Sie eine Branch-Simulationsumgebung

1. Erstellen Sie ein neues Projekt aus Ihrem eigenen Git-Repository und ziehen Sie es in das lokale

Lassen Sie den Git-Rollback-Code verstehen (detaillierte Beispiele)2. Erstellen Sie eine index.js, schreiben Sie etwas beiläufig und senden Sie es dann an das Warehouse Lassen Sie den Git-Rollback-Code verstehen (detaillierte Beispiele)

Lassen Sie den Git-Rollback-Code verstehen (detaillierte Beispiele)

4. Wir haben einen aus dem master-Zweig develop-Zweig git migriert Verzweigen Sie sich zu entwickeln und wechseln Sie zu diesem Zweig git checkout development

5 Fügen Sie einen neuen Zweig zum Zweig develop hinzu. Ein neuer Datensatz von B wird zum Commit-Datensatz von Develop hinzugefügt.

🎜6 Fügen Sie dann einen Codeabschnitt zum Entwicklungszweig hinzu. Schauen Sie sich die neuesten Commit-Datensätze des Entwicklungszweigs an Der Master-Zweig Im Vergleich dazu können Sie sehen, dass der Dev-Zweig zwei Commits vor dem Master-Zweig liegt. Beachten Sie, dass beim Zusammenführen von Zweigen manchmal ein Problem auftritt, obwohl der Code dies tut Anders, Sie werden beim Zusammenführen von Zweigen aufgefordert, den Code nicht zu aktualisieren, da der Commit-Datensatz des aktuellen Entwicklungszweigs hinter dem zusammenzuführenden Zielzweig zurückbleibt. Der Grund dafür ist der Missbrauch von Reset. Daher muss das Zurücksetzen mit Vorsicht erfolgen 🎜🎜🎜🎜 Reset betätigen, um es zu spüren. Nur einen Moment 🎜🎜

1. Wir führen den Code des develop-Zweigs in master zusammen, wechseln zum master-Zweig und führen git merge Develop aus code><code>develop分支的代码合并到master,切换到master分支 执行git merge develop

2.我们在master分支使用git log查看commit记录找到B记录,准备回滚这一条,回滚的时候不需要输入全部的commid一般是前7位就够用

Lassen Sie den Git-Rollback-Code verstehen (detaillierte Beispiele)

3.重点来了我们使用git reset 69fde2c进行回滚,这个时候查看log记录发现最后一条新增c记录没有了,这里还有个问题如果直接使用git push推送会有以下提示。

Lassen Sie den Git-Rollback-Code verstehen (detaillierte Beispiele)

这是因为本地的记录因为我们的回滚已经落后于仓库的代码了,这个使用需要使用git push -f进行强制提交

4.这个时候master分支就剩下A和B的commit记录了,到这里就是一次完整的reset回滚记录,之后我们还是可以继续正常把develop分支合并到master的

Lassen Sie den Git-Rollback-Code verstehen (detaillierte Beispiele)

revert介绍

1、revert的原理是,在当前提交后面,新增一次提交,抵消掉上一次提交导致的所有变化。它不会改变过去的历史,所以是首选方式,没有任何丢失代码的风险

2、revert可以抵消上一个提交,那么如果想要抵消多个需要执行 git revert 倒数第一个commit id 倒数第二个commit

3、这个就常用于当你提交了一次commit之后发现提交的可能有问题就可以用到revert

4、还有一种情景是已经有很多人提交过代码,但是想改之前的某一次commit记录又不想影响后面的也可以使用revert,他会把你后面提交的记录都放到工作区只是合并的时候需要注意一点

我们来模拟一下环境

1.切到develop分支现在该分支有三个commit记录Lassen Sie den Git-Rollback-Code verstehen (detaillierte Beispiele)

2.我们使用rever进行回滚试一下git revert 16083ce,如果你也用的是vs code可以看到工作区的变化,并且在控制台可以提交默认的commit

Lassen Sie den Git-Rollback-Code verstehen (detaillierte Beispiele)

3.看一下log记录,可以看到新增了一个记录Revert 新增C,并且原来的新增C还是在的

Lassen Sie den Git-Rollback-Code verstehen (detaillierte Beispiele)

commit记录打tag

1、在上线之前我们需要对当前的commit记录打一个tag方便上线的代码有问题可以及时回滚

我们来介绍一下常用的几个命令

1.git tag列出所有的tag列表

Lassen Sie den Git-Rollback-Code verstehen (detaillierte Beispiele)

2.创建一个tag,使用git tag [name],我们新增一个 git tag 测试4,在使用git tag 查看一下

Lassen Sie den Git-Rollback-Code verstehen (detaillierte Beispiele)

3.查看tag对应的commit信息,git show [tag名字],举个例子git show 测试1

2. Wir verwenden git log im Master-Zweig, um den Commit-Datensatz zu überprüfen und den B-Datensatz zu finden. Beim Rollback ist dies nicht erforderlich Geben Sie alle Commits ein. Im Allgemeinen reichen die ersten 7 Ziffern aus ee3d .png"/>

Lassen Sie den Git-Rollback-Code verstehen (detaillierte Beispiele)3. Der Fokus liegt auf uns. Die Verwendung von git reset 69fde2c wird zurückgesetzt. Zu diesem Zeitpunkt wird bei der Überprüfung des Protokolldatensatzes festgestellt, dass der letzte neue c-Datensatz ist verschwunden. Wenn Sie <code>git pushPush direkt verwenden, wird die folgende Eingabeaufforderung angezeigt.

Lassen Sie den Git-Rollback-Code verstehen (detaillierte Beispiele)

Das liegt daran Der lokale Datensatz ist aufgrund unseres Rollbacks hinter dem Warehouse-Code zurückgeblieben. Für diese Verwendung müssen Sie git push -f verwenden, um das Commit zu erzwingen

4 Zweig bleibt bei A. Der Commit mit B wurde aufgezeichnet. Dies ist ein vollständiger Reset- und Rollback-Datensatz. Danach können wir den Entwicklungszweig normal weiter mit dem Master zusammenführen.Lassen Sie den Git-Rollback-Code verstehen (detaillierte Beispiele)

Einführung zurücksetzen

1. Das Prinzip von. zurücksetzen ist das nach dem aktuelle Übermittlung, Füge eine neue Übermittlung hinzu und lösche alle durch den vorherigen Commit verursachten Änderungen. Dadurch wird der bisherige Verlauf nicht geändert, daher ist es die bevorzugte Methode, ohne dass das Risiko besteht, dass Code verloren geht.

2 Revert kann den vorherigen Commit ausgleichen. Wenn Sie also mehrere Übermittlungen ausgleichen möchten, müssen Sie git revert und ausführen die letzte Commit-ID.🎜🎜3 Dies wird häufig verwendet, wenn Sie ein Commit einreichen und feststellen, dass bei der Übermittlung ein Problem vorliegt. Es gibt auch eine Situation, in der Viele Leute haben es bereits übermittelt, aber wenn Sie einen bestimmten vorherigen Commit-Datensatz ändern möchten, ohne die nachfolgenden zu beeinträchtigen, können Sie auch „Revert“ verwenden. Dadurch werden alle Datensätze, die Sie später senden, in den Arbeitsbereich verschoben Achtung beim Zusammenführen. 🎜🎜Simulieren wir die Umgebung🎜🎜1. Wechseln Sie zum Entwicklungszweig. Jetzt hat der Zweig drei Commit-Datensätze Lassen Sie den Git-Rollback-Code verstehen (detaillierte Beispiele)🎜🎜2. Versuchen wir, git revert 16083ce mit rever zurückzusetzen . Wenn Sie es auch sind Mit vs-Code können Sie die Änderungen im Arbeitsbereich sehen und den Standard-Commit in der Konsole übermitteln🎜🎜Lassen Sie den Git-Rollback-Code verstehen (detaillierte Beispiele) 🎜🎜3. Sehen Sie sich den Protokolldatensatz an. Sie können sehen, dass ein neuer Datensatz Neues C zurücksetzen hinzugefügt wurde und der ursprüngliche Neues C ist noch da🎜🎜4a1daf6769ae6e16423d7732f441be78. png 🎜

Commit-Datensatz-Tag

🎜1. Bevor wir online gehen, müssen wir den aktuellen Commit-Datensatz markieren, damit wir ihn bei Problemen mit dem Online-Code wieder einrollen können Zeit🎜
🎜Lassen Sie uns einige häufig verwendete Befehle vorstellen 🎜🎜1.git tag listet alle Tag-Listen auf🎜🎜Lassen Sie den Git-Rollback-Code verstehen (detaillierte Beispiele)🎜🎜2. Erstellen Sie ein Tag, verwenden Sie git tag [name] Code> , wir fügen einen <code>git tag test 4 hinzu, in Verwenden Sie git tag, um es auszuprobieren🎜🎜4b1e4e2b5ccbc34d361435339def8a 2c. png🎜🎜3. Überprüfen Sie die Commit-Informationen, die dem Tag entsprechen: git show [tag name] , zum Beispiel git show test 1, wenn nach dem Online-Gehen Probleme auftreten, können wir ein Code-Rollback basierend auf der Commit-ID im Bild unten durchführen🎜🎜🎜🎜🎜Ende🎜🎜Git-Verwaltungstools Es kann gesagt werden, dass es jeden Tag in unserem täglichen Leben verwendet wird, daher müssen wir die Methoden beherrschen, die häufigen Problemszenarien entsprechen, um nicht überfordert zu werden, wenn wir darauf stoßen🎜🎜Empfohlenes Lernen: „🎜Git Tutorial🎜“🎜🎜

Das obige ist der detaillierte Inhalt vonLassen Sie den Git-Rollback-Code verstehen (detaillierte Beispiele). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen