Sunday, 14 July 2024, 5:41 AM
Site: Kursy - Platforma online RemEdu®
Course: Kursy - Platforma online RemEdu® (Kursy RemEdu®)
Glossary: Słownik pojęć GIT
G

git

Terminal: polecenie "git" służy do korzystania z systemu kontroli wersji Git, który umożliwia zarządzanie projektem, śledzenie zmian w kodzie źródłowym, oraz współpracę z innymi programistami.

Po komendzie git powinniśmy użyć dalszego polecenia do wykonania.

Np. gdy bieżący katalog nie jest śledzony przez GIT, to możemy zainicjować lokalne repozytorium komendą:

git init

git add

git add <nazwa_pliku>  Dodaje określony plik w kolejce do zatwierdzenia zmian, aby został uwzględniony w następnym commicie.

Przykładowe wykonanie:

ak@MBP14 folder_example % git add .hidden_test_file_1.txt
ak@MBP14 folder_example % 

Jeśli chcemy za jednym poleceniem śledzić wszystkie pliki, to możemy użyć:

ak@MBP14 folder_example % git add *
ak@MBP14 folder_example % 

Gwiazdka * oznacza, że wszystkie znaki są akceptowane, a więc wszystkie pliki zostaną dodane do listy zatwierdzenia dokonanych zmian. Oczywiście musimy potwierdzić zatwierdzenie zmian za pomocą git commit

Możemy także użyć zapisu git add . (kropka zamiast gwiazdki)

git commit

Zwykle stosujemy zapis od razu z opisem, a więc:

git commit -m "Opis zmian"  Tworzy nowy commit z zatwierdzonymi zmianami w repozytorium.

Przykład wykonania:

ak@MBP14 folder_example % git commit -m "To jest moje pierwsze zatwierdzenie zmian" 
[master (root-commit) 7474b30] To jest moje pierwsze zatwierdzenie zmian
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 .hidden_test_file_1.txt

 

git init

Terminal: komenda, która tworzy nowe repozytorium Git w bieżącym katalogu (jeśli nie istnieje).

Przykładowe wykonania - inicjalizacja repozytorium lokalnego GIT w bieżącym katalogu:

ak@MBP14 folder_example % git init
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint: 
hint: git config --global init.defaultBranch <name>
hint: 
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint: 
hint: git branch -m <name>
Initialized empty Git repository in /Users/ak/folder_example/.git/

Linijki rozpoczynające się od słowa hint: są tylko wskazówką. Najważniejszą informacją jest ten napis:

Initialized empty Git repository in /Users/ak/folder_example/.git/

On potwierdza nam, że inicjalizacja GIT przebiegła pomyślnie - tzw. sukces (nie wystąpiły żadne błędy)

git pull

git pull - to polecenie używane w systemie kontroli wersji Git do pobrania i zintegrowania najnowszych zmian z zdalnego repozytorium do bieżącego lokalnego repozytorium.

Czyli jeżeli inny użytkownik wysłał ze swojego komputera zmiany do zdalnego repozytorium GIT np. github.com to tym poleceniem git pull możemy pobrać te zmiany z github.com na nasz komputer.

git push

git push origin - to polecenie używane w Git do wysyłania zmian (commits) z lokalnego repozytorium do zdalnego repozytorium.

Zdalne repozytorium skonfigurowane jest pod nazwą origin, a więc jako zdalny punkt docelowy o nazwie "origin".

Konfiguracja ręczna zdalnego repozytorium (robi się to tylko raz, albo jest automatycznie konfigurowane, gdy pobieramy repozytorium poleceniem git clone {url_repo}) odbywa się za pomocą komendy git remote add origin

Przykładowe wykonanie w kodzie:

git push origin master

master to nazwa branch'a, oczywiście zmiany wysyłamy na zdalny serwer np. github.com z branch'a nas interesującego. Jedynie w przykładzie użyto brancha master.

git push -f

Odnośnie git push zerknij na osobny wpis.

git push -f origin main 

origin - nazwa zdalnego repozytrium, w przykładzie nazywa się ono origin

main - branch na który wysyłamy zmiany

-f      - wymuszenie nadpisania zmian, nawet w przypadku błędów, zmuszamy GIT do wykonania rozkazu pt. nadpisz zmiany i o nic nie pytaj. Nie zawsze mamy prawa do użycia tego "przełącznika". Jeśli nie mamy praw, odpowiedni błąd zostanie nam wyświetlony.

git remote add

git remote add to polecenie używane w systemie kontroli wersji Git, które służy do dodawania zdalnego repozytorium do bieżącego lokalnego repozytorium. Po dodaniu zdalnego repozytorium, będziemy mogli pobierać z niego zmiany (za pomocą git pull) i przesyłać nasze zmiany na ten zdalny serwer (za pomocą git push).

Składnia polecenia git remote add jest następująca:

git remote add <nazwa> <adres_url>

git status

Terminal: komenda, która wyświetla status bieżącego repozytorium, pokazując zmienione pliki i aktualną gałąź - branch.

Pliki, które po wykonaniu tego polecenia są koloru:

  • czerwonego, tzn. że nie są "śledzone" zmiany przez system kontroli wersji GIT i nie będą uwzględnione podczas zatwierdzania zmian poleceniem git add
  • zielonego, tzn. że te pliki lub zmiany w tych plikach zostaną uwzględnione podczas wykonania zatwierdzania zmian - git commit

Przypadek, kiedy git nie śledzi zmian w obecnym katalogu:

ak@MBP14 folder_example % git status
fatal: not a git repository (or any of the parent directories): .git

Tzn. że GIT nie ma nic wspólnego z tym katalogiem i jeśli chcemy śledzić zmiany w plikach za pomocą GIT, to powinniśmy pierw zainicjalizować repozytorium lokalne GIT w tym folderze. Możemy to zrobić za pomocą komendy: git init

Przypadek, kiedy git śledzi zmiany w obecnym katalogu (świeżo po zainicjowaniu GIT metodą git init):

ak@MBP14 folder_example % git status
On branch master
No commits yet
 
Untracked files:
  (use "git add <file>..." to include in what will be committed)
.hidden_test_file_1.txt
test_file_1.txt
test_file_2.txt
test_file_3.txt
nothing added to commit but untracked files present (use "git add" to track)

GIT informuje nas, że te pliki nie są śledzone i nie będą uwzględnione przy zatwierdzaniu zmian poleceniem git commit. Jeśli chcemy je uwzględnić, to musimy te pliki dodać (muszą być zielone nie czerwone) metodą git add nazwa pliku.

Przykładowe dodanie pliku .hidden_test_file_1.txt aby było uwzględnione przy zatwierdzaniu zmian:

ak@MBP14 folder_example % git add .hidden_test_file_1.txt
ak@MBP14 folder_example % 

Nie wystąpił żaden błąd, a więc nie mamy informacji.

By dowiedzieć się jaki jest obecny status zmian, należy ponownie wykonać polecenie git status

ak@MBP14 folder_example % git status
On branch master
No commits yet
Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
new file:   .hidden_test_file_1.txt
 
Untracked files:
  (use "git add <file>..." to include in what will be committed)
test_file_1.txt
test_file_2.txt
test_file_3.txt

Mamy teraz jasną informację od GIT, że zostaną zatwierdzone tylko zmiany w pliku .hidden_test_file_1.txt (ten plik jest koloru zielonego, reszta czerwone), gdy zatwierdzimy zmiany poleceniem git commit