Własne repo

Witajcie, mógłby mi ktoś łopatologicznie wytłumaczyć jak postawić własne svn? Chodzi mi o to, że mam aplikacje na serwerze www (vps). Na lokalu np. sobie dodam jakiś nowy moduł, potestuje go itp. i chcę go sprawnie wrzucić na produkcyjny. Byłbym wdzięczny za naprawodzenie.

Pozdrawiam

Zainteresuj sie gitem i capistrano :wink:

+1 dla przedpiścy. A jeśli koniecznie chcesz się bawić svnem to: http://svnbook.red-bean.com/en/1.5/svn.reposadmin.create.html i ew. http://pl.wikibooks.org/wiki/Subversion

Jeżeli już svn musi być to ja osobiście nie bawiłbym się w stawianie serwera svn tylko założyłbym konto na jakimś http://www.xp-dev.com/ i u siebie commitował, a na serwerze robił tylko ‘svn update’ lokalnej kopii.

Zdecydowanie +1

Teraz doczytałem, że railsy porzuciły svn na rzecz gita. Popróbuje z tym gitem, jak się jeszcze zrodzą jakieś pytania to napiszę tutaj :wink:

Jak git i VPS to polecam gitolite. “Instalacja Git” w googlach da ci bardzo dużo fajnych recept jak to zrobić.

w gidzie wystarczy konto ssh. Na serwerze robisz :

mkdir repozytorium.git
cd repozytorrium.git
git init . --bare --shared

teraz lokalnie robisz

cd foo (katalog z zawartoscią)
git init .
git add .
git ci -m “Import plików do repozytorium”
git remote add origin ssh://login@host/pelna/sciezka/do/repo.git
git push origin

good luck

Nie “wystarczy”, bo po prostu go nie trzeba. Całe lokalne repozytorium masz trzymane w katalogu .git wewnątrz katalogu projektu :slight_smile:

Racja, jak przeczytałem SVN to od razu mi się otworzyła w głowie klapka klient-serwer :slight_smile:

Mam już gita na localu. W sytuacji gdy zmienie np. plik *.css to muszę dać git add sciezka/styl.css czy wystarczy samo "git commit -a -m “literowka” ", które wykryje zmianę tego pliku? Druga sprawa to jak potem pobrać pliki, które uległy zmianie już na serwer?

Co prawda wystarczy “-a” (wtedy wszystkie zmiany w plikach są dodawana do commita), ale lepiej robić przez “add”, najlepiej z opcją -p. Dzięki temu możemy do danego commita wrzucić tylko te zmiany, które tworzą spójną całość. Należy również pamiętać, że nowe pliki możemy dodać tylko przez “add”.

Najczęściej (origin - nazwa zdalnego repozytorium, master - nazwa zdalnego brancha):

[code]# na localhoście
git push origin master

a potem na serwerze, jeśli już mamy lokalne repo utworzone tak jak na localhoście

git pull origin master[/code]

[quote=apohllo]Najczęściej (origin - nazwa zdalnego repozytorium, master - nazwa zdalnego brancha):

[code]# na localhoście
git push origin master

a potem na serwerze, jeśli już mamy lokalne repo utworzone tak jak na localhoście

git pull origin master[/code]
[/quote]
mogę to wywołać po prostu:

[code]# na localhoście
git push origin

a potem na serwerze, jeśli już mamy lokalne repo utworzone tak jak na localhoście

git pull origin[/code]
Czy muszę posiadać i repo i brancha?

[quote=Chmarus][quote=apohllo]Najczęściej (origin - nazwa zdalnego repozytorium, master - nazwa zdalnego brancha):

[code]# na localhoście
git push origin master

a potem na serwerze, jeśli już mamy lokalne repo utworzone tak jak na localhoście

git pull origin master[/code]
[/quote]
mogę to wywołać po prostu:

[code]# na localhoście
git push origin

a potem na serwerze, jeśli już mamy lokalne repo utworzone tak jak na localhoście

git pull origin[/code]
Czy muszę posiadać i repo i brancha?[/quote]
Standardowo masz branch “master” więc zawsze “posiadasz brancha”. Możesz to pominąć w wywołaniu - pisałem jak wygląda pełna składnia, której i tak zwykle będziesz używał.

http://assembla.com/ daje darmowe repozytoria Git i SVN. Jedyny limit to bodaj 2GB na pliki. (że tak zmienię temat)

Polecam git gui. Na Ubuntu trzeba zainstalować dodatkową paczkę “sudo apt-get install git-gui”.
Całkiem wygodnie można ogarnąć poczynione zmiany i pogrupować je w sensowne paczki / commity.

Ja wprawdzie graficzne klienty wykorzystuje głownie do przeglądania historii, ale z mojego doświadczenia mogę polecić gitg oraz stupidgit.

Jak zaczynasz przygodę z gitem zobacz sobie tą książkę: http://progit.org/book/pl/