Zobrazují se příspěvky se štítkemSvn. Zobrazit všechny příspěvky
Zobrazují se příspěvky se štítkemSvn. Zobrazit všechny příspěvky

sobota 29. března 2014

Jak na merge SVN repo do GIT repo

Pokud se někdy dostanete do situace, že potřebujete stejný zdrojový kód mergovat mezi SVN a GITem, tak řešení samozřejmě existuje:

# checkout the SVN source
$ svn checkout svn://svnversion/trunk
$ cd /into/svn/checkout

$ git init
$ echo ".svn/" > .gitignore
$ git add .gitignore; git commit -m 'Initial .gitignore'

# Now you have a master branch; create your svn branch
$ git checkout -b svn

# Add *everything* from the SVN checkout
$ git add -A
$ git commit -m 'Initial SVN'

# Now get the GIT developed stuff
$ git checkout master
$ git remote add origin /path/to/git-developed-repository
$ git pull origin master

# Now merge SVN repository to GIT master branch
$ git checkout master
$ git merge svn
# push to GIT origin

# Or merge master branch GIT repository to SVN
$ git checkout svn
$ git merge master
# commit to SVN

Nyní byste měli mít všechny změny ze SVN i v master branchi v GITu a nebo naopak.

Nevýhodou tohoto řešení je, že s sebou nepřenáší historii. Důležité však je, že stejný kód je na obou místech.


Zdroj: stackoverflow.com