Podstawowe komendy platformy społecznościowej GitHub

Dziś opis podstawych komend platformy GitHub. Platformy społecznościowej do pracy grupowej gdzie wymagana jest kontrola wersji prowadzonych projektów.

Co to jest Git – rozproszony system kontroli wersji. Stworzył go Linus Torvalds jako narzędzie wspomagające rozwój jądra Linux. Git stanowi wolne oprogramowanie i został opublikowany na licencji GNU GPL w wersji 2. (źródło Wiki)

Zakładam że masz już założone konto i pierwsze repozytorium, np. przy pomocy klienta GUI (lub strony www github) i pracujesz nad swoim projektem. Jednakże czujesz ograniczenia związane z taką obsługą. Proponuję uruchomić git shella aby pracować w trybie tekstowym (jeżeli pracujesz na windows w ustawieniach klienta wybierz git bash jako twój command line).

Komendy Git Bash:

git status – Sprawdza czy powstały jakiekolwiek zmiany w aktualnie używanym repozytorium (np dodano nowe pliki, powstały zmian). Warto często sprawdzać czy coś się nie zmieniło.

Komenda często podaje status zmian określonych plików. Poniżej opis różnych rodzajów statusu jakie pliki mogą przyjąć.

  • staged: Pliki gotowe do comita
  • unstaged: Pliki z zmianami które nie zostały przygotowane do commita poleceniem git add
  • untracked: Pliki nie śledzone jeszcze przez Git (z reguły oznacza to nowe pliki)
  • deleted:Pliki do usunięcia, czekają na usunięcie z Git-a

git add <nazwapliku.txt> – Polecenie to dodaje plik w stan gotowości do commita

  • add all: Można również napisać git add  . Kropka oznacza wszystko z aktualnego folderu będzie oznaczone jako staged. Można też używać tzw wildcards np. polecenie gid add ‘*.txt’ doda wszystkie pliki txt do staging area z całego lokalnego repozytorium włącznie z podfolderami.

git reset: Można napisać git reset <nazwapliku.txt> aby usunąć plik z oznaczenia jako staged

Dla tych którzy się pogubili co to jest ten commit i stagged.

  • stagged czy też staging area: Miejsce w którym grupujemy pliki razem przed tym dopóki nie z “commitujemy” ich do Git-a
  • commit: To coś w rodzaju “migawki” naszego repozytorium. W ten sposób jeżeli będziemy chcieli spojrzeć wstecz w zmianach które dokonaliśmy lub dokonał ktoś inny, będziemy mogli zobaczyć historię wszystkich zmian. (Uwaga! Commit nie transferuje fizycznie plików do repozytorium zdalnego robi to inne polecenie ale to zaraz)

git commit -m 'opis naszego commita' – Polecenie które wykona wyżej opisanego commita, oznacza to że nasze wcześniej przygotowane pliki, foldery w końcu zostaną dodane do naszego repozytorium wraz z kontrolą wersji

git log – Polecenie to służy do wyświetlenia historii naszych wszystkich commitów.

git remote add origin https://github.com/twojUsername/twoje_repozytorium.git – Polecenie to spowoduje “ustawienie” twojego zdalnego repozytorium do którego zaraz będziemy “pushować” nasze zmiany lokalne. Orgin to nazwa zwyczajowa głównego repozytorium, jednakże jak nazwiesz swoje repozytorium to zależy włącznie od Ciebie.

git push -u origin master – To polecenie powoduje wskazanie gdzie mamy wysłać nasze wcześniejsze commity. Najpierw nazwa repozytorium, następnie jego odgałęzienie (branch) w tym przypadku master.

Załóżmy że pracujesz nad projektem, w którym inne osoby współtworzą go z tobą. Chciałbyś teraz pobrać dokonane przez nich zmiany.

git pull origin master – To polecenie pobierze wszystkie dokonane zmiany przez współtwórców używających tego repozytorium.

git stash: Czasami gdy ściągasz zmiany (pullujesz ) może się zdarzyć że zrobiłeś zmiany w plikach lokalnie, których jeszcze nie chciałeś dodać do zdalnego repozytorium. Jedną z opcji w takiej sytuacji jest ich schowanie (stash). Użyj tej komendy aby schować swoje zmiany, wówczas możesz bezpiecznie ściągać. Aby przestać się chować użyj komendy git stash apply‘ .

git diff HEAD: to polecenie pozwala wyłapać różnice od naszego ostatniego commita. HEAD to wskaźnik który wskazuje na twój ostatni commit, jest to szybki sposób na wskazywanie ostatniego commita bez pomocy SHA. Polecenie to więc sprawdzi wszystkie zmiany w stosunku do ostatniego commita.

git diff --staged: To polecenie pokaże wszystkie różnice w staging area.

git reset <nazwaPliku> : To polecenie usunie plik z staging area.

git checkout: To polecenia pozwala na przywrócone do stanu plików z ostatniego commita.

Branch – odgałęzienia. W przypadku kiedy masz zamiar np. pracować na kilkoma różnymi usprawnieniami w swoim projekcie, lub chcesz np pozbyć się buga, to lepiej stworzyć Branch (kopie repozytorium) i pracować na niej. W momencie skończenia pracy możesz później to odgałęzienie połączyć do głównego repozytorium (master)

git branch <nazwa>: To polecenie stworzy Branch o nazwie “nazwa”, wydanie polecenia git branch bez parametru, pokaże wszystkie odgałęzienia w danym repozytorium.

git branch -d <nazwa>: To polecenie usunie odgałęzienie podane w nazwie.

git checkout <nazwa>: To polecenie przełączy Cie z aktualnie używanego odgałęzienia do wybranego o podanej nazwie.

git merge <nazwa_odgałęzienia_które_chcemy_połączyć_z_aktualnym> : To polecenie połączy odgałęzienie w którym aktualnie się znajdujesz z odgałęzieniem podanym w nazwie.

git rm <nazwa>: Usuwa pliki z danego katalogu, można używać tak zwanych wildcards, np. git rm ‘*.txt’ (usuwa wszystkie pliki z rozszerzeniem txt). Aby usuwać foldery i wszystkie w nich zawarte pliki można użyć innego przełącznika git rm -r <nazwa_Folderu>. Należy pamiętać aby faktycznie usunąć pliki z repozytorium/odgałęzienia należy zrobić git commit -m ‘najlepiej z odpowiednim komentarzem’

To tyle podstawowych komend, jednakże to nie wszystko co można opanować dlatego jeżeli chcesz doczytać więcej to polecam zajrzeć pod te adresy: