
Ostatnia aktualizacja: 17.01.2023 r.
Pierwotnie do rozwoju jądra Linuxa wykorzystywany był program BitKeeper, jednak z chwilą, kiedy przestał być darmowy dla projektów otwartoźródłowych, Linus Torvalds postanowił stworzyć własny rozproszony system kontroli wersji. Git, bo o nim mowa, jest najpopularniejszym narzędziem wspomagającym rozwój oprogramowania na całym świecie. Osobiście przygodę z tym oprogramowaniem zacząłem równolegle z pierwszym uruchomieniem systemu GitLab i w zasadzie nie wyobrażam już sobie pracy na innym systemie.
Poniższe ustawienia zapisywane są w pliku .gitconfig
znajdujący się w katalogu %USERPROFILE%
profilu aktualnie zalogowanego użytkownika.
git config --global user.email adres@email.pl
git config --global user.name "Imię Nazwisko"
Poniższe polecenie wykonuję przed pierwszym logowaniem! ~/.git-credentials
git config --global credential.helper store
Domyślnie Git korzysta z domyślnego edytora systemowego, ale można go zmienić na inny.
git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -multiInst -nosession"
git remote add origin http://adres.pl/projekt/repozytorium.git
git remote -v
git init
Poniższe polecenie przechwyci wszystkie nowe branche (gałęzie) oraz znaczniki zdalnego śledzenia bez scalania tych zmian z lokalnymi branchami (gałęziami).
git fetch --all
git pull origin master
git checkout nazwa_brancha
git reset --hard origin/master
git reset --hard origin/nazwa_brancha
git stash
git stash clear
git commit --amend -m "Nowa wiadomość"
Dla bezpieczeństwa mogę dodać przełącznik --force-with-lease
(po push), który zabezpieczy mnie przed wgraniem poprawek w sytuacji, gdy ktoś inny wgrał zmiany do tego samego brancha, którego commita poprawiam.
git push --force repozytorium branch
git log --format='%aN' | sort -u | while read name; do echo -en "$name\t"; git log --author="$name" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -; done