Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: instalacja gita lub svna na serwerze apache
Forum PHP.pl > Forum > Serwery WWW
marcus753
No właśnie, przyszedł czas kiedy chciałbym zamiast tradycyjnego kopiowania plików przez ftp-a skorzystać z systemu kontroli wersji. Jest kilka tutoriali jak można te systemy zainstalować na serwerze ja mam 2 pytania:

1. rozumiem że główne repozytorium tworzymy tam gdzie mamy katalog www ? problem w tym że git/svn przechowuje pewne pliki w tym samym folderze - oznacza to że będą one dostępne dla wszystkich ?

2. czytałem o różnicach między gitem i svn-em do moich potrzeb chyba wystarczyłby mi svn + gui np. tortoise pytanie tylko czy svn nie jest już przestarzały i wszyscy od niego odchodzą na korzyść gita ?
ohm
Załóż sobie konto na bitbucket i będziesz miał wszystko od ręki wink.gif
SpiritCode
Polecam gita. Wygodniejszy merge moim zdaniem.

Zrób sobie repo gdzieś tam a na serwer po prostu rób git pull

W efekcie będziesz miał proste publikowanie zmian a Twój git będzie działał na Twoich warunkach.
marcus753
czyli rozumiem że repo robi się np. w innym katalogu a potem łączy się gita z serwerem za pomocą ftp-a ? i on sam przesyła dane do serwera tak ? to w takim razie jest jakiś darmowy serwis który umożliwia tworzenie swoich własnych repo i następnie łączenie ich z wersją produkcyjną na serwerze ?

edit:

Tutaj znalazłem instrukcje instalacji repozytorium gita na serwerze:
https://www.digitalocean.com/community/tuto...server-on-a-vps

I teraz rozumiem że w jakiś magiczny sposób muszę połączyć to repozytorium z wybranym katalogiem www w apachu na serwerze - jak coś takiego zrobić albo pod jakim hasłem szukać podpowiedzi ?

Mam swój własny serwer VPS i fajnie byłoby móc sobie na nim robić repozytoria i potem je kopiować do wybranych domen/katalogów (oczywiście same pliki produkcyjne bez wcześniejszych wersji i innych ustawień)
Pyton_000
Flow jest taki. Instalujesz GIT na serwerze i na komputerze lokalnym.

Konfigurujesz sobie na VPS repozytorium GIT ta aby można było się łączyć z zew. Są na to instrukcje, poszukaj. Zakładasz wtedy repozytorium poprzez
Kod
git init --bare

Z komputera lokalnego robisz git push do tego zdalnego repo.

Potem wchodzisz sobie w katalog WWW i robisz git clone a potem pull i tyle.

Jeżeli Repozytorium i serwer WWW to ta sama maszynka można ustawić Hook after-push (czy jakoś tak) żeby skrypt sam przechodził do podkatalogu z WWW i pobierał zmiany z master.
SpiritCode
Jest też takie fajne narzędzie.
Jenkins - bardzo przydatny zwłaszcza jeśli prócz samej aktualizacji plików trzeba zrobic coś jeszcze jak np. wykonać jakieś polecenia serwerowe
zidek
Z doświadczenia mogę Ci polecić GIT + Bitbucket. Bitbucket oferuje repozytoria prywatne na podstawowym (darmowym) koncie, dzięki czemu nikt nie będzie miał dostępu do Twoich plików. Instalacja GIT'a ogranicza się do jednej komendy. Jeśli masz serwer z Debianem możesz zrobić to w ten sposób:
[code]apt-get install git[/code
Po zainstalowaniu GIT'a logujesz się na Bitbucket, tworzysz nowe repozytorium i na stronie swojego nowego repo znajdziesz 4 komendy, którymi założysz repo na swoim serwerze.

Wracając do dwóch pytań z pierwszego posta:
1. Wszystkie pliki są ukryte i nie ma możliwości otwierania ich przez innych użytkowników
2. SVN nie jest przestarzały, cały czas jest używany w sporych, dobrze rozwijających się firmach, czasami samodzielnie, czasami obok GIT'a czy HG. Są między nimi różnice, ale nie wiem czy będą one miały dla Ciebie jakiekolwiek znaczenie, jeśli chcesz tym systemem tylko zastąpić FTP.
b4rt3kk
Cytat(marcus753 @ 11.01.2015, 19:04:31 ) *
No właśnie, przyszedł czas kiedy chciałbym zamiast tradycyjnego kopiowania plików przez ftp-a skorzystać z systemu kontroli wersji. Jest kilka tutoriali jak można te systemy zainstalować na serwerze ja mam 2 pytania:

1. rozumiem że główne repozytorium tworzymy tam gdzie mamy katalog www ? problem w tym że git/svn przechowuje pewne pliki w tym samym folderze - oznacza to że będą one dostępne dla wszystkich ?

2. czytałem o różnicach między gitem i svn-em do moich potrzeb chyba wystarczyłby mi svn + gui np. tortoise pytanie tylko czy svn nie jest już przestarzały i wszyscy od niego odchodzą na korzyść gita ?


1. Jeśli instalujesz svn jako moda apacha to masz wiele różnych możliwości zabezpieczenia katologu z repo (zresztą może się on znajdować np. w /var/svn/ niekoniecznie /var/www), zaczynając od samej konfiguracji moda svn, a na vhostach i htaccessie kończąc.
2. Osobiście korzystam z obu systemów kontroli wersji (znacznie dłużej z svn) i git bardziej przypadł mi do gustu. Jeśli pracujesz w większej grupie programistów, to branche, itd. dają znaczne większe możliwości kontroli głównego repo, dowolnego podnoszenia, zdejmowania commitów, mergowania, itd. itp. W svn byś się musiał namęczyć, żeby wyrzucić commita.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.