Hej, oglądam pewien tutorial i na samym początku dodawane jest repozytorium przez sourcetree na githuba, z tego co przeczytałam na wikipedii, github to serwis na który umieszcza się repozytorium, a repozytorium to udostępnione pliki naszego projektu a wrzucamy je na ten serwis przez program sourcetree, nie wiem czy dobrze to rozumiem, a po drugie w jakim celu jest to stosowane? Czy programiści używają tego w pracy ? Jakie jest tego praktyczne zastosowanie ? Czy jest to powszechnie stosowane ? Czy może teraz robi się już inaczej ?
Ten post powinien się znaleźć w dziale Edukacja
@wioletta90, github jest jest miejscem gdzie programiści umieszczają swój kod, ale to tylko sama końcówka.
- Gdy pracujesz w zespole programistów musisz w jakiś sposób współdzielić kod. Jedna osoba wprowadza takie zmiany inna inne. W tym celu mamy systemy kontroli wersji. Patrz link @Craith.
- Tak, to jest bardzo popularne i zespoły nie stosujące kontroli wersji zazwyczaj nie dostarczają produktu.
- Tak, należy stosować kontrolę wersji nawet jak pracujesz samodzielnie. W tym przypadku spełnia ona rolę kopii zapasowej ponieważ wypadki chodzą po komputerach.
- Ostatnim elementem, o którym warto wspomnieć, to licencjonowanie kodu. Z założenia wszystko to co jest publicznie dostępne na Githubie ma jakąś licencję zgodną z założeniami wolnego oprogramowania i oprogramowania o otwartych źródłach. Istnieje jednak możliwość nieujawniania kodu poprzez np. stworzenie prywatnego repozytorium. Tak też dzieje się w przypadku komercyjnych projektów (brzydka kalka z angielskiego - projektów własnościowych) o tzw. zamkniętym kodzie źródłowym.
Git jest to coś, co pozwala programistom 'cofać się w czasie' i np. przywracać stan poprzedni projektu, jeśli się coś spier*oli. Git bowiem pamięta wszystko co zostało zmienione w projekcie (dotyczy to tylko tych zmian, które programista świadomie przekazał do Gita, czyli "za-commit-ował").
Git pozwala również na współpracę programistów ze sobą. Każdy programista ma swoją kopię projektu na dysku, zmienia projekt, zapisuje zmiany do Gita, a potem git magicznie to scala (komendy np. git push
,git merge
czy git rebase
itp.), tak żeby wszystkie zmiany były zsynchronizowane. Ułatwia to prace zespołową.
Git również doczekał się wielu nakładek i usług pomocniczych. Np. Github to hosting repozytoriów Git. Czyli taki jakby serwer FTP, który potem wyświetla pliki w internecie, z tą różnicą, że nie wgrywa się plików przez FTP, a przez Git.