2024-05-20 16:54:16
  • Hello!
  • Whats ya doin?
  • ByeBye

[&]

3.136.17.105

Scenariusze użycia GIT

workshop: #git-scenariusze.html

Repozytorium GIT- scenariusze warsztatowe

Przygotowanie

  1. Zapoznaj się z wiadomościami z dokumentu System kontroli wersji GIT
  2. Utwórz katalog git-scen, a w nim twórz projekt(y) zgodnie z Listing 1. do Listing 7.
  3. Wykonaj warsztat tworząc przykładowe pliki i analizując zachowanie skryptów
1 inicjowanie lokalnego Repozytorium i jego konfiguracja
#1 scenariusz - inicjowanie lokalnego Repozytorium i jego konfiguracja ..
# .. oraz wykonanie pierwszego Commitu

# przygotowanie środowiska Projektu
mkdir -p /home/student/Dokumenty/git/proj-1
cd /home/student/Dokumenty/git/proj-1
echo '#!/usr/bin/env python3' > app.py
echo 'Przykładowa aplikacja' > README.md
ls -al

# tworzenie repozytorium GIT
git init
git config user.name "Twoje Nazwisko i Imię"
git config user.email "twoj@email.local"
git config --list
# to samo co wyżej: cat .git/config
git status
# przygotuj pliki do wysyłki (Commit) na Repo
git add README.md
git add app.py
# to samo co wyżej (dodaj WSZYSTKO): git add *
git status
# opisanie zawartości Commitu (poprzednich poleceń git add)
git commit -m "Repo init with Readme"
git status
# ustawienie i nazwanie głównej gałezi
git branch -M main
# wskazanie adresu URL lokalnego Repo
git remote add local /home/gp/Dokumenty/git/proj-1/
# wysłanie/zatwierdzenie pierwszego Commitu
git push -u local master
git status
2 Commitowanie zmian (rozwoju) w kodzie programu
#2 scenariusz - Commitowanie zmian (rozwoju) w kodzie programu

# środowisko Projektu:
cd /home/student/Dokumenty/git/proj-1
# pierwsze zmiany:
echo 'print("Moja Aplikacja")' >> app.py
echo 'Lista funkcjonalności:' >> README.md
echo '* wyświetl powitanie' >> README.md

git status
# przygotuj pliki do wysyłki (Commit) na Repo
git add *
git status
# opisanie zawartości Commitu (poprzednich poleceń git add)
git commit -m "[add] 0.1 Print message"
git status
# wysłanie/zatwierdzenie kolejnego Commitu
git push -u local master
git status

# drugie zmiany
echo 'print("version: 0.2")' >> app.py
echo '* wyświetl wersję' >> README.md
echo '* dodać nagłówek Copyright z autorem' >> TODO.txt
git status
git add *
git status
# NIEchcemy pliku TODO.txt w Repo
git restore --staged TODO.txt
git status
# opisanie zawartości Commitu (poprzednich poleceń git add)
git commit -m "[mod] 0.2 Print version"
git status
# plik TODO.txt MA BYĆ nieśledzony
# wysłanie/zatwierdzenie kolejnego Commitu
git push -u local master
git status
3 kontrola Repo: lista gałęzi oraz "wersji" Commitów
#3 scenariusz - kontrola Repo: lista gałęzi oraz "wersji" Commitów

# środowisko Projektu:
cd /home/student/Dokumenty/git/proj-1

# aktualna gałąź prac
git branch
# lista wszystkich gałęzi Repo
git branch -a

# historia pełna LUB kompaktowa (1-linijkowa)
git log
git log --pretty=oneline
4 lista ignorowanych (dla Commitów) plików i katalogów
#4 scenariusz - lista ignorowanych (dla Commitów) plików i katalogów

# środowisko Projektu:
cd /home/student/Dokumenty/git/proj-1
mkdir ./DOCS
echo "opisy funkcji" > ./DOCS/opisy.txt
mv TODO.txt ./DOCS
echo 'print("Prawdziwy kod programu")' >> app.py

git status

# dodanie ignorowania plików i/lub katalogów
# TYLKO dla lokalnego REPO
cat .git/info/exclude
echo 'DOCS/*' >> .git/info/exclude
git status

# dla każdego, kto sklonuje TO Repo (ustawienia ignorowania będą synchronizowane)
echo 'DOCS/*' >> .gitignore
git status
echo '.gitignore' >> .gitignore
git status

# wyjątek dla ignorowanego katalogu, bo wskazany jego plik jednak nie był ignorowany
echo '!DOCS/opis.txt' >> .git/info/exclude
git status

# zatwierdzanie zmian
git add *
git commit -m "[mod] 0.3 Code and Documenation"
git status
git push -u local master
git status
git log
5 przywracanie konkretnych wersji projektu
#5 scenariusz - przywracanie konkretnych wersji projektu

# środowisko Projektu:
cd /home/student/Dokumenty/git/proj-1

# lista Commitów
git log
# UWAGA! przechowaj listę HASHy Commitów w innym miejscu niż Repo

# pokaż różnicę pomiędzy Commitem B i jego porzednikiem
git show [NUMER_HASH_COMMITU]

# załaduj stan projektu z konkretnego Commita
git checkout [NUMER_HASH_COMMITU]

# powróć do najnowszej wersji projektu
git log
# brak wskazania Najnowszego commitu
cat .git/logs/HEAD
git log --all
# wyszukaj HASH najnowszej wersji projektu
git checkout [NUMER_HASH_COMMITU]

Podsumowanie

  1. brak