`
# Problem na Macu tworzy plik .DS_Store, bo system cały czas go uaktuania
# wyłączanie we wszystkich repozytoriach:
git config --global core.excludesfile ~/.gitignore_global 
echo ".DS_Store" >> ~/.gitignore_global

# Wyłączanie w systemie:
sudo chflags uchg .DS_Store
# włączanie:
sudo chflags nouchg .DS_Store


# Jak skasować plik lokalnie, ale zostawić go innym?
git rm --cached nazwa.pliku
echo "nazwa.pliku" >> .gitignore
git add .gitignore
git commit -m "Ignorowanie pliku nazwa"
git push
rm nazwa.pliku

# Jak mieć plik lokalny, który nie jest w GIT?
echo "nazwa.pliku" >> .gitignore
git rm --cached nazwa.pliku
git add .gitignore
git commit -m "Ignorowanie pliku nazwa"

# Plik nie będzie widoczny i nie będzie info w GIT o tym
echo "nazwa.pliku" >> .git/info/exclude

# Jak przywrócić do GIT plik, który był tylko lokalnie?
usunąć jego nazwę z .gitignore
git add nazwa.pliku
git commit -m "Dodanie pliku nazwa do repozytorium"
git push

# Jeśli nie można push, bo mam nieistotne zmiany lokalne, to można je pominać
# wszystkie nowe pliki:
git stash push --keep-index
# wybrane pliki
git stash push -m "Moje zmiany" -- path/do/pliku1 path/do/pliku2

# Reset repozytorium
git clean -fd
git reset --hard HEAD

# aby zobaczyć przebieg commitów
git log --oneline --graph --decorate --all


# łączenie zmian w branchu do main:
## Step 1 Clone the repository or update your local repository with the latest changes.
git pull origin main
## Step 2 Switch to the base branch of the pull request.
git checkout main
## Step 3 Merge the head branch into the base branch.
git merge pk
## Step 4 Push the changes.
git push -u origin main


