Mam wielki problem z git-svn: Muszę po prostu wciskam git repo do serwera svn, więc zrobiłem następującegit svn dcommit nie znajdzie zmiany i zresetować głowicę
svn mkdir --parents http://host/path/to/repo/{trunk,tags,branches} \
-m "Standard layout for $project"
git svn init -s http://host/path/to/repo/
git svn fetch
git rebase trunk master
git svn dcommit
pracował ten świetny i wszystko jest na git i svn!
Teraz otrzymałem wiadomość, że mój oddział Git Master 31 zobowiązuje się za pochodzenie/master, więc zrobiłem git pull. Teraz zmieniłem niektóre rzeczy w moim repozytorium (w zasadzie jest to projekt java zaćmienia) i go popełniłem. Teraz chcę również pchnąć go na repo svn i popełnił svn git dcommit ale to nie działa:
Committing to https://..../trunk ...
No changes
38b194cb2860b8bb73924cb05f9830dbdb70cf82~1 == 38b194cb2860b8bb73924cb05f9830dbdb70cf82
No changes between current HEAD and refs/remotes/trunk
Resetting to the latest refs/remotes/trunk
Unstaged changes after reset:
M Product/Abgabe.tex
Unable to extract revision information from commit daf483ad1333f3589386b87054f4c27fb7ff23cf~1
Co zrobiłem źle? Kapitan jest teraz reseted aby przed popełnienia, teraz muszę git checkout -- Abgabe.tex
i git pull
mieć odpowiednią wersję tutaj ...
Edycja: Jeśli zrobię git svn rebase
, otrzymuję za każdy popełnić długą listę konfliktów, tak zrobiłem git rebase --skip
do końca, a następnie dcommted, to działa, ale wydaje się być krwawa Hack:/
mh tak wydaje więc ... ok, wtedy zidentyfikowałem problem: jeśli używam git na różnych hostach i popycham go do repozytorium i muszę scalić gałęzie, svn gałąź ma problem z nieliniową historią. teraz muszę się przebić ... ale to jest ból w dupie! kiedy chcę ponownie nacisnąć GIT, muszę najpierw wyciągnąć moją historię git, a następnie ponownie ją przywrócić do wersji svn ... – reox
Zazwyczaj używam 'git svn rebase' na master, a następnie' git checkout -b feature_branch'. Wykonaj całą moją pracę w gałęzi z funkcjami, gdy tylko będę gotowy do przekazania do serwera svn, ja 'git checkout master' następnie' git svn rebase', następnie 'git merge feature_branch', a następnie' git svn dcommit'. – Joe
@Joe. Link jest teraz uszkodzony, ale git svn rebase było lewą. Dzięki. – JackMorrissey