2016-03-21 5 views
1

Ich habe einen Dev-Zweig und einen Master-Zweig. Wir machen Entwicklung auf Dev-Zweig bis zum Veröffentlichungsdatum. Am Tag des Releases werden alle Änderungen am dev-Zweig "commit-by-commit" umgebettet, um den Zweig zu verwalten und sie zusammenzuführen. Auf diese Weise behalten wir auch die Historie der Commits auf Master-Zweig.Git: markieren Sie zwei Commits auf zwei Zweige als auch wenn Geschichte der Commits auf den beiden ist anders

In der Vergangenheit, (PROBABLE REASON) einmal habe ich vergessen, diese commit-by-commit zu tun und schob mehrere commits (sagen A, B, C) auf dev als eine einzige commit zu master (A ').

Nun, jedes Mal, wenn ich die genannte Aktivität in Para1 mache, findet es A 'als anders und versucht, entsprechende Commits A, B, C zu mastern.

Ich möchte dies durch Hinweis auf Git zu überwinden - dass Repo Inhalt von C auf dev Verzweigung zeigt, ist die gleiche wie die von A 'auf Master gezeigt. OR - der Repo-Inhalt, auf den J auf dev-Zweig zeigt, ist der gleiche wie der, den J auf den Master zeigt. Damit hoffe ich, dass das Tool nur neue Commits auswählt.

Gibt es einen Weg?

dev : /A-B-C =D-E-F=G-H-I-J master: Z-Y- A'=D-E-F=G-H-I-J

= zeigt eine Zusammenführung von Entwickler an master-Zweig für die Freigabe /anzeigt verzweigt dev wird

+0

"Ich habe einmal vergessen, dies zu tun" - warum wiederholen Sie die Zusammenführung nicht noch einmal? – Dummy00001

Antwort

0
git checkout dev 
git checkout -b temp-dev [SHA for C] 
git checkout master 
git checkout -b temp-master [SHA for Y] 
git rebase temp-dev 
git branch -D master 
git branch -D temp-dev 
git branch -m temp-master master 
git tag [your previous release] 

... do the same for F ... 

git rebase dev 
git tag [your new release] 

Wenn ich Sie richtig verstehe, so etwas wie dieses, vielleicht?