W komentarzach @ Bassetassen za odpowiedź , @plosco wspomniano, że można użyć git clone https://<token>@github.com/username/repository.gitdo klonu z GitHub przynajmniej. Pomyślałem, że rozwinę sposób, w jaki to zrobić, na wypadek, gdyby ktoś natrafił na tę odpowiedź, tak jak ja, próbując zautomatyzować klonowanie.
GitHub ma bardzo przydatny przewodnik, jak to zrobić, ale nie obejmuje tego, co zrobić, jeśli chcesz uwzględnić to wszystko w jednym wierszu dla celów automatyzacji. Ostrzega, że dodanie tokena do sklonowanego adresu URL spowoduje zapisanie go w postaci zwykłego tekstu .git/config . Jest to oczywiście zagrożenie bezpieczeństwa dla prawie każdego przypadku użycia, ale ponieważ planuję usunąć repozytorium i odwołać token, gdy skończę, nie obchodzi mnie to.
1. Utwórz token
GitHub ma tutaj cały przewodnik, jak zdobyć token, ale oto TL; DR.
- Idź do Ustawienia> Ustawienia Twórca> Personal dostępu Żetony ( tutaj jest bezpośredni link )
- Kliknij „Wygeneruj nowy token” i ponownie wprowadź hasło. ( jest inny bezpośredni link )
- Ustaw jego opis / nazwę, sprawdź uprawnienie „repo” i naciśnij przycisk „Generuj token” u dołu strony.
- Skopiuj nowy token przed opuszczeniem strony
2. Sklonuj repozytorium
Samo jak @plosco polecenie dał, git clone https://<token>@github.com/<username>/<repository>.gittylko zastąpić <token>, <username>a <repository>z informacji bez względu na to.
Jeśli chcesz sklonować go do określonego folderu, po prostu wstaw adres folderu na końcu w następujący sposób: git clone https://<token>@github.com/<username>/<repository.git> <folder>gdzie <folder>jest, zgadłeś, folder do klonowania! Oczywiście można użyć ., .., ~, itd. Tutaj jak można gdzie indziej.
3. Nie pozostawiaj śladu
Nie wszystko to może być konieczne, w zależności od tego, jak wrażliwe jest to, co robisz.
- Prawdopodobnie nie chcesz pozostawiać tego tokena bezczynnie, jeśli nie masz zamiaru go używać przez pewien czas, więc wróć do strony z tokenami i naciśnij znajdujący się obok niego przycisk usuwania.
- Jeśli nie potrzebujesz ponownie repozytorium, usuń je
rm -rf <folder>.
- Jeśli ponownie potrzebujesz repozytorium, ale nie musisz go zautomatyzować ponownie, możesz usunąć pilota, wykonując
git remote remove originlub po prostu usunąć token, uruchamiając go git remote set-url origin https://github.com/<username>/<repository.git>.
- Wyczyść historię bash, aby upewnić się, że token nie pozostaje tam zalogowany. Można to zrobić na wiele sposobów, zobacz to pytanie i to pytanie . Jednak może być łatwiej po prostu wstawić wszystkie powyższe polecenia ze spacją, aby zapobiec ich zapisaniu na początku.
Zauważ, że nie jestem zawodowcem, więc powyższe może nie być bezpieczne w tym sensie, że nie pozostanie żaden ślad dla jakiejkolwiek pracy kryminalistycznej.