Git system kontroli wersji

Git system kontroli wersji – śledzi zmiany dokonywane na plikach.

 

download

instalacja na mac, instalacja na win

na mac niektóre polecenia trzeba uruchomić jako super admin czyli wpisujemy: sudo git push

 

VCS – Version Control System – system kontroli wersji
CVCS – Centralized Version Control System – scentralizowany system kontroli wersji
DVCS – Distributed Version Control System – rozproszony system kontroli wersji

 

zalety

  • kopia pełnego repozytorium
  • możliwe wykorzystanie hierarchicznego modelu (schematu) pracy
  • zmiany jako zestaw migawek (snapshots) – commit – obraz wszystkich plików w danym momencie (w przypadku braku zmian w danym pliku, git przechowuje referencję do jego ostatniej, zmodyfikowanej wersji)
  • szybki dostęp do historii, całość danych znajduje się na lokalnym komputerze
  • wbudowany mechanizm spójności danych – kontroluje zmianę każdego pliku i wyznacza sumę kontrolną przed zapisem (jako skrót SHA-1)

 

obszary pracy

  • working directory
  • staging area
  • commit

 

 

polecania

  1. wysokopoziomowe
  2. niskopoziomowe
  • git init – tworzenie nowego repozytorium
  • git –help – pomoc
  • git –version
  • gitk – graficzna osbługa gita
  • config
    • git config user.name „Agnieszka” – ustawia nazwę użytkownika
    • git config user.email hello@webscene.pl
    • git config color.ui true – informacje wyświetlane w kolorze
    • git config user.name – podaje nazwę użytkownika
  • git status – info
  • add
    • git add name.html – dodanie pliku do śledzenia do staging area
    • git add . – dodanie wszystkich zmienionych plików do staging area
    • git add -p name.html
    • git add –all – dodanie wszystkich plików do staging area
  • git rm –cached name.html – usuniecie pliku zapisanego w staging area
  • commit
    • git commit – zacommitowanie zmian
    • git commit -m „adding …” – z komentarzem
    • git commit -am „adding …” – jeśli pliki były dodane i nie są untracked
  • checkout
    • git checkout — <file> – odrzucenie zmian w katalogu roboczym
    • git checkout commit_name — name.html – przywrócenie wersji podanego pliku ze wskazanego commita
    • git checkout HEAD — name.html – ostatni commit
    • git checkout branch_name – przejście na wskazaną gałąź
    • git checkout -b branch_name – dodanie nowej gałęzi i przejście na nią
  • log
    • git log – jakie commity zostały zapisane – q – zamknięcie wyświetlania, j – następne, k – poprzednie
    • git log –oneline – wyświetla logi po jednej linice
    • git log –oneline –graph – wyświetla logi w jednej linice i pokazuje zaleznosci
    • git log –all –oneline
  • merge
    • git merge master – połączenie obecnej gałęzi ze wskazaną master
    • git merge –abort – przerwanie merg’a
  • diff
    • git diff name/name.html – porównanie zmian konkretnego pliku
    • git diff commit_name — name/name.html – porównanie zmian konkretnego pliku ze wskazanym commitem
    • git diff HEAD – pokazuje zmiany względem ostatniego zapisanego commita
  • branch
    • git branch – wyświetla gałęzie z zaznaczeniem aktywnej
    • git branch -b name – dodanie nowej gałęzi i przejście na nią
    • git branch branch_name – tworzenie nowej gałęzi
    • git checkout -b branch_name – dodanie nowej gałęzi i przejście na nią
    • git branch -d name – usuniecie danej gałęzi

 

cached – zapisany w staging area

Clear cache:

git rm -r –cached .
git add .
git commit -am 'git cache cleared’

 

komunikaty

  • untracked files – pliki nie śledzone przez Git’a

 

poziomy

  • system – najwyższy, dla wszystkich użytkowników w systemie
  • globalny – dla danego użytkownika
    • git config –global user.name „Agnieszka”
  • lokalny – dla konkretnego repozytorium
    • git config user.name „Agnieszka”

 

Korzystając z konsoli git mamy dostępne linuksowe polecenia plikowe jak: cat, find, grep, wc.

.gitignore

*.txt

!readme.txt

directory_name

 

Kolorowanie wyświetlanych informacji

 

http://ndpsoftware.com/git-cheatsheet.html

https://git-scm.com/book/pl/v1/Podstawy-Gita-Praca-ze-zdalnym-repozytorium

http://rogerdudler.github.io/git-guide/index.pl.html

http://blog.piotrnalepa.pl/2013/05/19/git-podreczny-zestaw-niezbednych-komend-dla-kazdego-webdevelopera-i-nie-tylko/

https://www.atlassian.com/git/tutorials/setting-up-a-repository/git-config

wstęp do gita

git system kontroli wersji