+ 02.03.2024 | Ściągawka git - na razie brudnopis…

git init

git add .
git commit

git push

git fetch
git merge
git pull

git log --oneline --decorate
git log --oneline --decorate --graph --all

git branch -v
git branch -vv
git branch --no-merged

poprawka commit

git commit --amend --no-edit
git push -f

synchronizacja

git pull --verbose
# =
git fetch
git merge

# na ostro!
git fetch
git reset --hard

gałąź śledząca zdalne repo

git remote add aabbcc https://github.com/aabbcc/abc.git
git fetch aabbcc

git remote -v
git remote -vv

różne działania na repo zdalnym:

git push ...
# uaktualnienie wszystkich lokalnych gałęzi śledzących
git fetch --all -v --progress

lista plików do rozw. konfliktów:

git diff --name-only --diff-filter=U --relative

git config --global core.eol lf
git config --global core.autocrlf false

git config merge.tool tortoisemerge

git status

konfig.

git config --global core.autocrlf false
git config --global core.eol lf

differences: Newlines

Po przeniesieniu na inny komputer zdarzyło mi się, że wszystkie pliki UTF-8 CrLf zostały uznane za zmienione podczas próby wypchnięcia commit - zresztą trwającej bardzo długo (związane z inna konfiguracją CrLf Git na tamtym komputerze).
Po sprawdzeniu co się zmieniło dostałem:

TortoiseGitMerge 
----------------
The text is identical, but the files do not match! 
The following differences were found: 
     Newlines
                  [OK]

W mojej konfiguracji oba autocrlf=false

Jakoś magicznie pomogło wydanie na chwilę polecenia

git config core.autocrlf true

czyli w konf. TortoiseGit: Git \ Local \ AutoCrLf: [true]
i ponowny commit (lub tylko zamiar), po czym można było na powrót wyczyścić (tzn. ) opcję TortoiseGit: Git \ Local \ AutoCrLf: [____] i kolejne wypychanie było już sensowne. (A global==effective AutoCrLf = false)