Erläuterung:zwei parallele Geschichten in einer Git-Repository - verursachenden git Problemen rebase
ich auf October 15, 2015
repository wieder ein Git erstellt, so dass ich eine Art Code-Portfolio für haben würde, wenn ich in etwa 2 bis College gehen Jahre. Im Moment lerne ich, mit mit Hilfe von Udemy zu programmieren, aber sobald ich mit diesem Kurs fertig bin, plane ich, C++
und dann Php
zu lernen. Aber das ist natürlich alles außer dem Punkt.
Also heute (June 22, 2016
) bemerkte ich, in meinem Git-Repository als ich einige Code von einem der Tutorials drängen, die ich war passiert tun und nur git log
laufen alle meine Commits zu sehen und bemerkte etwas wie folgt aus:
Also von dem, was ich habe read und die Informationen, die ich von dieser Erkenntnis gesammelt haben, ist, dass ich etwas falsch und aus diesem Grund wurden zusammen ich mit etwas endete, die oben, wie das Bild aussieht.
Mein nächster Schritt war zu sehen, ob ich den git rebase -i --root
Befehl verwenden könnte, um alle Commits zu löschen, die in der blauen Box (im Bild oben) markiert sind. Was natürlich ging gut, bis sie begehen treffen 15 (ca.), wo sie dann eine Fehlermeldung ausspucken, die etwa wie folgt aussieht:
So an diesem Punkt, ich übersprungen nur, dass begehen, indem er git rebase --skip
läuft . So etwa zwei weitere Commits vergingen, wenn (rechts in der Warteschlange):
Also, natürlich, ich lief git rebase --skip
und es nur mit dem Rest der Commits beenden lassen.
Sobald das erledigt war, lief ich einfach git rebase --abort
, weil es diese beiden Commits übersprungen hatte. Mein nächster Schritt nach all dem war, im Internet nach Antworten zu suchen. Eine der einzigen guten Antworten, die ich finden konnte, war here. Ich folgte dann der Antwort:
Ich würde vorschlagen, dass Sie zuerst versuchen, Ihre Geschichte zu glätten, um die parallelen Geschichten loszuwerden, und die Verschmelzungsverpflichtungen zu entfernen. Sobald Sie einen streng linearen Verlauf haben, können Sie den Verlauf so umschreiben, dass alle Debugging-Abgänge entfernt werden.
Das einzige Problem war, dass ich konnte nicht herausfinden, wie parallele Geschichten zu entfernen und/oder entfernen merge verpflichtet, denn wenn ich git rebase -i --root
laufe ich so etwas wie diese:
pick 9140277 Initial commit
pick 95b2f3b Made some minor changes to the code to increase usability
pick d83b165 Converts the folder to a .tar.bz2 and then deletes the folder
pick 3b755b3 Removed some blank lines at the bottom of the file
pick e2f2e3e Added the feature to remove files/folders that are older than a certain age
pick 86b1115 Finished the backup final ftp script for now
pick bfbbcd4 Removed text from a variable
pick 2a7cacd Fixed some minor bugs in the code
pick a943277 Added some new fetures to the script
pick b31bf66 Removed some unnecessary lines of code
pick cc2c9f7 Added Countdown Timers and other help to the portfolio
pick f443919 Fixed a few if statements
pick d6588a0 Everything is in working order
pick f8cc756 Renamed some of the files
pick 6a859f6 Rename backup final ftp.py to backup ftp v.4 (final).py
pick 2dcdae3 Deleted an unneeded folder
pick 0c10370 Added 'Lecture 14 Numbers'
pick 5358b32 Added 'Remove Numbers v.1.py'
pick 8b95691 Reorganized the repository
pick 250f94b Added 'Lecture 16 Strings'
pick 6ebfd31 Changed the numbering of the files
pick 1f275e4 Added 'Lecture 19 Print Formatting'
pick b7d6608 Initial commit
pick 6718968 Made some minor changes to the code to increase usability
pick c2c58c3 Converts the folder to a .tar.bz2 and then deletes the folder
pick 19a495f Removed some blank lines at the bottom of the file
pick c5687a3 Added the feature to remove files/folders that are older than a certain age
pick 93e9742 Finished the backup final ftp script for now
pick 589251c Removed text from a variable
pick 4a7f2d1 Fixed some minor bugs in the code
pick 4172115 Added some new fetures to the script
pick 2377980 Removed some unnecessary lines of code
pick e183900 Added Countdown Timers and other help to the portfolio
pick dfc9747 Fixed a few if statements
pick 0fa9983 Everything is in working order
pick 09abfd7 Renamed some of the files
pick 051dae3 Rename backup final ftp.py to backup ftp v.4 (final).py
pick bac2105 Deleted an unneeded folder
pick e35b6ba Added 'Lecture 14 Numbers'
pick 60b17e4 Added 'Remove Numbers v.1.py'
pick c654494 Reorganized the repository
pick 16e17be Added 'Lecture 16 Strings'
pick 3f37ca3 Changed the numbering of the files
pick ab99b1c Added 'Lecture 19 Print Formatting'
pick 5ea99f2 Added 'Lecture 21 Lists'
pick b8dba98 Reorganized/Fixed all of the code/comments on all of the lectures that I have done up to this point
pick ae50e5b Added 'Lecture 23 Dictionaries'
pick 3306d23 Added 'Lecture 25 Tuples'
pick 36e22b5 Added 'Lecture 26 Files'
pick 2fd3983 Removed a gitignore specifier from the .gitignore file
Das einzige Problem ist, dass Ich sehe die Zusammenführung überhaupt nicht, die so aussehen soll Merge branch 'master' of github.com:Lowe-Man/Portfolio
.
Eine letzte Frage, die ich verspreche.Wie kann ich die rote Linie verschwinden, grünen, und dass kleiner Abschnitt dieser blauen Linie darunter eine vollständige lineare Geschichte im Bild zu machen:
wäre sehr dankbarJede Hilfe. Danke, Alex
Was mache ich, nachdem ich 'git rebase --ont ab99b1c 5ea99f2^origin/master' ausgeführt habe? Entschuldigung, ich bin neu bei Git. –
@Alex Wenn es keinen Fehler gibt, führen Sie 'git log --oneline --graph' oder' gitk' aus, um zu überprüfen, ob der aktuelle Verlauf der von Ihnen gewünschten ist. – ElpieKay
Ich kann nicht wirklich sagen, ob das ist was ich will. Ich möchte alle Zusammenführungsverpflichtungen entfernen, um eine lineare Geschichte zu bilden. –