Którym poleceniem systemu Git zapisuje się w historii repozytorium nową wersję (migawkę) przygotowanych zmian?
A. git commit
B. git clone
C. git init
D. git status
Poprawna odpowiedź to git commit. To polecenie zapisuje w historii repozytorium migawkę zmian znajdujących się w obszarze staging, czyli wcześniej przygotowanych najczęściej poleceniem git add. Commit tworzy nowy punkt historii z identyfikatorem SHA, autorem, datą oraz komunikatem opisującym zmianę. Do zapamiętania: typowa składnia to git commit -m "krótki opis zmiany". W praktyce wykonuje się je po przygotowaniu logicznego zestawu modyfikacji, na przykład po poprawieniu błędu albo dodaniu jednej funkcji. Typowa pułapka polega na tym, że git commit nie zapisuje automatycznie wszystkich plików z katalogu roboczego - zapisuje tylko to, co trafiło do staging area.
W tym pytaniu chodzi o zapisanie migawki przygotowanych zmian w historii repozytorium, a za to odpowiada git commit. git clone służy do skopiowania istniejącego repozytorium, na przykład z serwera zdalnego, do nowego katalogu lokalnego. Byłoby właściwe przy rozpoczynaniu pracy z projektem, który już istnieje. git status tylko pokazuje stan katalogu roboczego i obszaru staging: informuje, które pliki są zmienione, przygotowane do commita albo nieśledzone, ale niczego nie zapisuje w historii. git init tworzy nowe, puste repozytorium Git w bieżącym katalogu przez utworzenie struktury .git; używa się go na początku pracy z nowym projektem. Typowy błąd myślowy polega na utożsamieniu dowolnego polecenia związanego z repozytorium z utrwaleniem zmian. W Git zapis historii następuje dopiero po przygotowaniu plików i wykonaniu git commit, często z komunikatem opisującym zmianę.