"Yuriy Romanenko" <groman@xxxxxxxxx> wrote in message news:AANLkTi=ioX25aqXg-yWDA0oXBTATkFe+J25g-dB7-psS@xxxxxxxxxxxxxxxxx > Hello, > > I am somewhat new to Git and I keep running into having to accomplish > a certain task and reading through the documentation I can't seem to > find any way of doing this easily. > > The problem is when branches diverge and I want to sync a branch to > another branch with full overwrite, but maintain history and maintain > separate branches. > > For example, say there is a branch "master" and I create a branch "b1" > from master at some point. After this, there are 5 commits > (C1,C2,C3,C4,C5) to master and > 17 commits to b1 (let's call them cb1, cb2, cb3, ..., cb17). Say I > want to create an 18-th commit to "b1" that makes it identical to the > C5 (current) state of master. Essentially a single commit wipe of > changes cb1 -> cb17 as well as application of C1->C5. So far I have > found one way of accomplishing this, but it is difficult, error prone, > slow and I just plain don't like it. I feel like there should be an > easier way. > > What I currently do: > > $ rm -rf * > $ git checkout -f master > $ tar -cvzf /tmp/master.tar.gz * > $ git checkout b1 > $ rm -rf * > $ tar -xvzf /tmp/master.tar.gz > $ git add > $ git commit -a > $ git merge master > > > I've considered doing something like the following > > $ git checkout b1 > $ git revert b1~17..b1 > $ git merge master > > but it also seems wrong, and requires me to count the submits by hand, > which seems silly --> I'm not actually reverting anything. I don't > know if this would even work. > > > Any suggestions on how to accomplish this easier? Some sort of a > force-checkout that affects working tree only but not the index? > Have you looked at the vendor branch methodology in the git-rm manpage? It may give you some ideas you're interested in. v/r, Neal -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html