Buduję (nieco ograniczonego) klienta Git. Aby skonfigurować repozytorium, wprowadź adres URL do zdalnego repozytorium. Chcę sprawdzić, czy użytkownik ma uprawnienia do odczytu i zapisu w tym repozytorium. Jeśli nie, przedstawiam okno dialogowe uwierzytelniania.
Sprawdzam dostęp do odczytu za pomocą git ls-remote <url>
.
Czy istnieje analogiczny sposób sprawdzenia dostępu do zapisu bez wcześniejszego klonowania repozytorium? (Wiem, że mógłbym git clone <url>
i wtedy git push --dry-run
)
git
github
git-remote
ls-remote
Yang Meyer
źródło
źródło
Odpowiedzi:
Jeśli repozytorium git jest na github, otwórz dowolny plik w repozytorium, a następnie kliknij „edytuj”, github pokaże coś takiego:
źródło
git ls-remote
tego, którego może użyć ich nowe narzędzie, więc interfejs sieciowy Github prawdopodobnie nie będzie im odpowiadał.Możesz grać
git push git+ssh://host.org/path/to/repo some_ref
bez klonowania. Ale zobacz mój komentarz powyżejźródło
--dry-run
parametr mógłby zostać użyty do przetestowania dostępu w trybie push bez wypychania prawdziwego zatwierdzenia? git-scm.com/docs/git-push#Documentation/git-push.txt---dry-run