angewendet werden Also versuche ich herauszufinden, ein seltsames Problem, wo ein Commit gemacht wurde, in unserem Master-Zweig verschmolzen, aber dann im Folgenden den Code binden gebunden zu diesem Commit scheint nur zu verschwinden. Der Commit-Hash ist 4516ce019
und auf github das Commit ist immer noch auf dem Baum, sowie auf meinem lokalen Git-Zweig. Auszug aus git log auf dem Master-Zweig:Commit ist in git Baum, aber scheint nicht auf den Code
commit 02659934ce32a4e700e1a7116685933e40a58b7f
Author: Jordan Earls <[email protected]>
Date: Thu Jun 29 18:50:22 2017 -0400
Add RPC commands gethexaddress and fromhexaddress
These RPC commands can be used to convert to and from base58 addressses
to hex addresses as used in smart contracts
commit 2c15f54789ab4f4e6d3b735aa6849111b5c9299d
Merge: 14c08352c 4516ce019
Author: qtum-neil <[email protected]>
Date: Wed Jun 28 22:52:20 2017 +0000
Merge pull request #213 from qtumproject/earlz/add-block-author
Change block author to be 2nd vout/2nd tx for PoS
Wenn man sich git blame schauen auf die sich verpflichten, die Dinge scheinen richtig ist, ist der Code gibt. Das Commit, das auf dem Master-Zweig folgt, hat jedoch eine völlig andere git blame, als ob das Commit nie existiert hätte. (sagen, dass der Code vor 5 Monaten geändert wurde, anstatt vor 2 Monaten).
Was genau ist hier passiert? Ich habe das Gefühl, dass es ein Merge-Konflikt ist, der schlecht geworden ist, aber selbst das würde sich in den jüngsten Zusammenschlüssen und/oder der Schuld des Gitarristen zeigen. Ich bin nicht in der Lage, dies zu reproduzieren, und wir haben niemals nach diesem Commit in diesen Zweig gedrängt (was wir vorher taten, als wir die Dinge aufbauten).
Hat jemand eine Anleitung, wie das möglich ist, und wie genau festzustellen ist, wo etwas schief gelaufen ist? Dieses Problem führte zu einer kleinen Sicherheitslücke in unserer Codebasis. Daher ist es wichtig zu verstehen, warum dies passiert ist. das Fixieren ist natürlich, nur trivially eine Kirsche-Auswahl zu machen, um dieses commit zurück in zu ziehen.
BEARBEITEN: Unter Verwendung git fsck --unreachable --no-reflog
deckt keine verwaisten Zusagen auf, also scheint meine einzige Ahnung einer Verschmelzung, die das Festschreiben zurücklässt, nicht der Fall zu sein
Eltern von 0265 ist a633 – ninjalj