GIT

  • git –version
  • git init
  • git clone
    • git clone –help
    • git clone adres . – polecenie z kropką na końcu – utworzenie kopii w bieżącym folderze
    • git clone adres – bez kropki na końcu – utworzenie kopii w podfolderze
    • git clone -b <branch name>
      • git clone -b feature/version-3.0 ssh://git@git…
  • git add
    • git add –help
    • git add -A / git add –all
    • git add .
  • git branch
    • git branch –help
    • git branch -a – listuje list branchy
  • git config
    • git config –help
    • git config -l – wyświetla ustawienia parametrów pracy
    • git config –global – w Window7 zapisuje zmienne konfiguracyjne w pliku C:/User/username/.gitconfig
    • git config –global user.name „Name”
    • git config –global user.email hello@webscene.pl
    • git config user.name „Name” – zapisanie ustawień w repozytorium w którym wprowadzono komendę
    • git config –list – wykaz zapisanych ustawień
  • git help
    • git help add
    • git help branch
    • git help clone
  • git status
  • git shortlog
    • git shortlog -s -n – uczestnicy projektu
    • git shortlog – s -n | wc -l

 

  • git remote  – sprawdzenie czy nie ma zdalnego repozytorium w projekcie
  • git remote -v – listuje adres (fetch) i (push)
  • git ls-remote – listuje listę
  • git remote add origin <url repository> – dodanie repozytorium do remote

 

  • git rebase –

zakomitowanie zmian nie na tym branch co trzeba

  1. git reset HEAD- –soft – cofamy ostatni zrobiony commit,
  2. git stash,
  3. wejście na poprawny branch i git stash apply,
  4. rozwiązujemy ewentualne konflikty
  5. git add -A
  6. git commit –amend
  7. git push –force
  8. git checkout feature/new-menu
  9. git rebase master – bierze koncówkę branch feature.. i doczepia i doczepia do ostatniego commita na masterze – tylko podczas indywidualnej pracy bo zmienia to historie

 

zmiana danych autora:

  1. git config –global –edit
  2. it commit –amend –reset-author

 

 

  • git log – sprawdzanie zmian wprowadzonych w repo
    • –pretty – formatowanie i jego wartości:
      • oneline – id, opis
      • short – id, opis, autor
      • medium – id, opis, autor, data rewizji
      • full – id, opis, autor, osoba dołączająca rewizję do projektu
      • fuller – id, opis, autor, osoba dołączajaca rewizję do projektu, data wykonania rewizji, data dołączenia rewizji
      • email – podstawowe info w formacie email
      • raw – info powiązań rewizji (parent, tree)
      • format – formatowane określone przez użytkownika
    • –abbrev-commit –abbrev=6 – skrócenie skrótów SHA-1
    • filtracja
      • -n – liczba rewizji, -6 – sześć ostatnich rewizji
      • –since=”yyyy-mm-dd” – począytkowa data
      • –until=”yyyy-mm-dd” – końcowa data
      • –author=name – rewizje konkretnej osoby
    • git log –pretty=oneline –since=”2012-06-01″ –until=”2-12-06-08″ | wc -l
    • git log – 66 –author=dave

 

  • git checkout
    • git checkout -f – przywrócenie stanu plików z zachowaniem historii zmian do stanu detached HEAD
    • git checkout -f SHA-1 – przywrócenie stanu plików ze wskazanej rewizji z zachowaniem historii zmian

 

  • git reset –hard / git reset –hart HEAD – przywrócenie stanu ostatniej rewizji
  • git reset –hard SHA-1 – przywrócenie stanu ze wskazanej rewizji, usuwa historię późnijeszych zmian i rewizji

 

git add -A + git commit -m „comment”

git add . + git commit -a -m „comment”

 

 

  • repozytorium – repository – katalog z projektem objęty kontrola GITa
  • commit – operacja zatwierdzenia zmian
  • rewizja – commit, revision – zapisanie zatwierdzonych zmian, zawiera:
    • id rewizji
    • data, godzina wykonania
    • id poprzednich rewizji
    • info o modyfikacjach
  • obszar roboczy – working area, working directory – cała zawartość projektu poza folderem .git
  • snapshot – bieżący stan wszytskich plików w folderze roboczym

 

git shortlog -s -n | wc -l

find .  -type f -print | grep -v -E '/\.git/’ | wc -l

git log –pretty=oneline –since=”2012-06-01″ –until=”2-12-06-08″ | wc -l

 

polecanie linuxowe:

  • q – wyjście z polecenia

 

polecenia konsoli:

  • mkdir name

 

 

PRACA GRUPOWA

udostępnienie własnych rewizji innym uczestnikom projektu.

 

 

na serwerze współdzielone repozytorium

każdy posiada lokalna kopię repozytorium na której pracuje, zatwierdzając zmiany commit i wysyłając je na serwer push, po wysłaniu zmiana staje się dostępna na serwerze

sprawdzenie różnic pomiędzy dwoma dowolnymi rewizjami – ?

  1. pobranie aktualnego stanu repozytorium z serwera do lokalnego repozytorium – git pull
  2. zatwierdzanie zmian w lokalnym repozytorium – git commit
  3. wysłanie lokalnego repozytorium na serwer – git push

zmodyfikowanie tej samej liniki kodu przez 2 użytkowników powoduje zatrzymanie przesyłania danych z lub na serwer. Należy usunąć konflikt inastępnie commit, pull, push