Zakładam, że GitHub zaleca HTTPS z kilku powodów
1) Łatwiej jest korzystać z dowolnego miejsca, ponieważ potrzebujesz tylko danych konta (nie wymaga kluczy SSH)
2) HTTPS Jest portem otwartym we wszystkich zaporach ogniowych. SSH nie zawsze jest otwarty jako port do komunikacji z sieciami zewnętrznymi
Repozytorium GitHub jest zatem bardziej powszechnie dostępne przy użyciu HTTPS niż SSH.
Moim zdaniem klucze SSH są warte trochę więcej pracy przy ich tworzeniu
1) Klucze SSH nie zapewniają dostępu do konta GitHub, więc nie można przejąć konta, jeśli klucz zostanie skradziony,
2) Użycie silnego hasła z kluczem SSH ogranicza wszelkie niewłaściwe użycie, nawet jeśli klucz zostanie skradziony
Jeśli dane logowania do konta GitHub (nazwa użytkownika / hasło) zostaną skradzione, hasło GitHub można zmienić, aby zablokować dostęp, a wszystkie udostępnione repozytoria można szybko usunąć.
Jeśli klucz prywatny zostanie skradziony, ktoś może wymusić wypchnięcie pustego repozytorium i wyczyścić całą historię zmian dla każdego repozytorium, które posiadasz, ale nie może niczego zmienić na Twoim koncie GitHub. O wiele łatwiej będzie spróbować odzyskać dane po tym naruszeniu dostępu do konta GitHub.
Preferuję używanie SSH z kluczem chronionym hasłem. Mam inny klucz SSH dla każdego komputera, więc jeśli ten komputer zostanie skradziony lub przejęty, mogę szybko zalogować się do GitHub i usunąć ten klucz, aby zapobiec niechcianemu dostępowi.
SSH można tunelować przez HTTPS, jeśli sieć, w której się znajdujesz, blokuje port SSH.
https://help.github.com/articles/using-ssh-over-the-https-port/
Jeśli używasz HTTPS, zalecam dodanie uwierzytelniania dwuskładnikowego, aby chronić twoje konto, a także repozytoria.
Jeśli używasz HTTPS z narzędziem (np. Edytorem), powinieneś użyć tokena programisty z konta GitHub zamiast buforować nazwę użytkownika i hasło w konfiguracji tego narzędzia.