I have a main repository on SVN, which I am synchronizing with a “clone” on Git / GitHub. Every time I do something on SVN, I run the following commands on my Git console:
git svn rebase
git push --force git@github.com:.../
I am frequently making mistakes when dealing with this setup (who knows how…). This leads to a lot of errors and merges, stashing, committing, adding, whatnot, which I am unable to resolve due to my lack of knowledge of Git. So I’m wondering, how can I revert all unwanted changes in my Git repository, overwriting everything the way it is committed on SVN trunk? I only ever want to commit to SVN. Git / GitHub should only be a copy.
I figured out that the workaround to run for my current problem is this:
git svn rebase
git add .
git rebase --continue
git push --force git@github.com:.../
These two additional steps allow me to continue working, as git won’t complain any longer. But I don’t want to keep my weird local changes. In other words, is there a command like this:
git svn "override and update"
So it seems like you want to simply use github as a cloud backup, right?
(I’m assuming –stdlayout for the git-svn clone).
The commands would be:
Example:
I tried the following in a git-svn -managed repository (foo.git-svn) that I currently have.
This pushed the master branch of my git-svn repo to a new, purely git repo.