Windows zachowuje hasła do gita.
Aby to wyłączyć, trzeba najpierw usunąć hasła z menedżera poświadczeń, następnie odpalić konsolę w trybie administratora i klepnąć:
git config --edit --system
i usunąć linijkę:
helper = manager
wyjście: esc oraz :wq
https://stackoverflow.com/questions/37182847/how-to-disable-git-credential-manager-for-windows/37185202
Przyjemnie opisany sam początek
https://help.github.com/articles/set-up-git/
https://git-scm.com/docs/gittutorial
Stworzenie lokalnego repo
wskazujesz na katalog, klikasz „git bash here” i wklepujesz
git init
dodanie wszystkich plików w katalogu do indexu
$ git add .
a następnie commit
$ git commit
sprawdzanie statusu:
$ git status
Połączenie z GitHub
najpierw na githubie tworzysz repo, bez pliku readme itd. Powinna wyskoczyć informacja, jak postępować dalej, ale w razie czego:
touch README.md git init git add README.md git commit -m "first commit" git remote add origin https://github.com/pgrab86/githubtest.git git push -u origin master
Ściągnięcie gotowego repo z githuba
git clone URLPobranyZgithuba
Aktualizowanie plików
git add . //dodanie wszystkich, nowych plików git commit -a //-a pomija konieczność manualnego dodania plików, które się zmieniły
Branches
git branch experimental //stworzenie brancha git branch //wylistowanie wszystkich branchy git checkout experimental //przejście do brancha git merge experimental //będąc w danym branchu meegujesz zmiany z brancha z polecenia git diff //w przypadku konfliktów, pokazuje gdzie te konflikty się znalazły git branch -d experimental //usunięcie brancha git branch -m new-branch-name //change name of current branch git fetch //pobranie informacji o nowych branchach, następnie git nie będzie jeszcze widział w git branches jakiegoś nowego, ale można odpalić to poniżej git checkout nowyBranch
Stash
git stash /zapisuje wersję roboczą
git stash list //wyświetla listę wersji roboczych
git stash apply //zatwierdza najnowszą wersję
git stash apply stash@{2} //zatwierdza drugą wersję w kolejności
Przestawanie obserwowania pliku
git rm --cached <file>
Usunięcie niecommitniętych zmian w plikach
git reset --hard
Pull z automatycznym rozwiązywaniem konfliktów na korzyść zmian z repo zewnętrznego
git pull -X theirs
Sprawdzenie zdalnych połączeń
git remote -v
W momencie, kiedy pracujemy na czyjejś wersji i tej osoby już np nie ma i nie będzie, trzeba zmienić remoty na własne, bo inaczej wszelkie pushe i pulle będą wymagały logowania się do konta poprzedniego właściciela
Wykrywanie bugów przez git bisect
https://git-scm.com/book/en/v2/Git-Tools-Debugging-with-Git#Binary-Search
Klucz SSH
Aby wygenerować klucz, wklep w terminalu:
ssh-keygen -t rsa -C "user1" -f "/c/Users/Pawel/.ssh/user1"
Następnie w katalogu z plikami do ssh utwórz plik config a w nim:
Host bitbucket.org
HostName bitbucket.org
User pgrab86
IdentityFile /c/Users/Pawel/.ssh/pgrab86
IdentitiesOnly yes
Jeśli ustawisz passphrase do klucza, to hasło będzie wymagane za każdym razem
Zawartość klucza publicznego wrzuć na bitbuckecie do settings > SSH keys
Ukrycie .git katalogu. hide .git
w .htaccess
RedirectMatch 404 /\.git