Git #3: praca na zdalnym repozytorium
W tej odsłonie serii przestawię podstawowe komendy do pracy na zdalnym repozytorium. Używamy ich, żeby ułatwić pracę w zespole nad dowolnym projektem.
W tej odsłonie serii przestawię podstawowe komendy do pracy na zdalnym repozytorium. Używamy ich, żeby ułatwić pracę w zespole nad dowolnym projektem. Praca z gitem jak z każdym narzędziem jest kierowana różnymi zasadami pisanymi czy nie. Od standardowego pushowania czy pullowania aż poprzez pracę przy wykorzystaniu branchy – o czym w kolejnych artykułach. Jednak na razie zajmijmy się podstawami, takimi jak pobieranie i wysyłanie danych na serwer.
Git fetch
Aby pobrać informacje o zmianach, które zostały wprowadzone w repozytorium (np. o nowych branch”ach) użyjemy komendy git fetch. Przejdź do folderu, który utworzyłeś w poprzedniej części – w moim przypadku test_1. Następnie użyj git fetch
pi@raspberrypi:~ $ cd test_1/
pi@raspberrypi:~/test_1 $ git fetch
Jako że nasze repozytorium zostało dopiero co stworzone, nie zobaczymy żadnych informacji, gdyż nie posiadamy żadnych zmian.
Git pull
Jeżeli chcemy wciągnąć i scalić (merge) zmiany, które zostały wprowadzone w branchu, na którym się znajdujemy, użyjemy komendy git pull.
pi@raspberrypi:~/test_1 $ git pull
Already up-to-date.
Teraz jesteśmy na bieżąco ze wszystkimi zmianami na aktywnym branchu. Aby wciągnąć zmiany z serwera i nadpisać zmiany lokalne, możemy użyć na przykład opcji –rebase. Jeżeli chcemy zaciągnąć zmiany z innego branchu do komendy git pull dodajemy
pi@raspberrypi:~/test_1 $ git pull origin master
Git push
Stwórz nowy plik (touch new_file.py), aby wysłać go w świat za pomocą. Użyj komendy git add, by dodać go do lokalnego repozytorium, następnie zkomitujmy zmiany przy użyciu git commit (dobrą praktyką jest dodanie komentarza i tagów). Tak przygotowany komit z nowym plikiem możemy przesłać na zewnętrzne repozytorium za pomocą git push.
pi@raspberrypi:~/test_1 $ touch new_file.py
pi@raspberrypi:~/test_1 $ ls
new_file.py
pi@raspberrypi:~/test_1 $ git add new_file.py
pi@raspberrypi:~/test_1 $ git commit -m "Added new_file.py"
[master 6c9de6d] Added new_file.py
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 new_file.py
pi@raspberrypi:~/test_1 $ git push
Username for 'https://github.com': QAbrio
Password for 'https://QAbrio@github.com':
Counting objects: 3, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 281 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/QAbrio/test_1.git
2f36062..6c9de6d master -> master
pi@raspberrypi:~/test_1 $ git status
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working tree clean
pi@raspberrypi:~/test_1 $
Mając już przygotowane, skomitowane i spushowane zmiany, możemy je podejrzeć na GitHubie:
Udało się, pierwszy plik znajduje się na zdalnym repozytorium. Na razie przedstawione przykłady pokazywały proste przypadki, bez konfliktów podczas pushowania i bez pracy na osobnych brancz’ach. Przejdziemy do tego w następnych odsłonach tej serii. Teraz inni użytkownicy mogą pullować wprowadzone zmiany.