Utworzyłem nowe lokalne repozytorium Git:
~$ mkdir projectname
~$ cd projectname
~$ git init
~$ touch file1
~$ git add file1
~$ git commit -m 'first commit'
Czy jest jakieś polecenie git, aby utworzyć nowe zdalne repozytorium i wcisnąć moje zatwierdzenie do GitHub z tego miejsca? Wiem, że to nie jest wielka sprawa po prostu uruchomić przeglądarkę i przejść do utworzenia nowego repozytorium , ale jeśli istnieje sposób na osiągnięcie tego z poziomu interfejsu CLI, byłbym szczęśliwy.
Przeczytałem ogromną liczbę artykułów, ale żaden z nich nie wspomniał o tym, jak utworzyć zdalne repozytorium z poziomu interfejsu CLI za pomocą poleceń git. Miły artykuł Tima Lucas'a. Konfigurowanie nowego zdalnego repozytorium git jest najbliższe, jakie znalazłem, ale GitHub nie zapewnia dostępu do powłoki .
źródło
curl -F 'login=username' -F 'token=API Token' https://github.com/api/v2/yaml/repos/create -F name=reponame
. Twój token API można znaleźć na stronie GitHub, kliknij Ustawienia konta , poszukaj informacji administracyjnych i token API (łańcuch o długości 32 znaków).Polecenia CLI dla github API v3 (zamień wszystkie słowa kluczowe CAPS):
źródło
~/.bash_history
. Proponuję zastąpić-u 'USER:PASS'
z-u 'USER'
, a następnie zwijają poprosi Cię o hasło interaktywnie.curl -u 'USER' https://api.github.com/user/repos -d '{"name":"REPO", "private":"true"}'
git config --global alias.gh-create '!sh -c "curl -u \"USERNAME\" https://api.github.com/user/repos -d \"{\\\"name\\\":\\\"$1\\\"}\"" -'
curl https://api.github.com/user/repos?access_token=myAccessToken -d '{"name":"REPO"}'
. :-)Można to zrobić za pomocą trzech poleceń:
(zaktualizowano dla Github API v3)
Objaśnienie tych poleceń ...
Utwórz repozytorium github
Określ, gdzie naciskać
Przekaż lokalne repozytorium do github
źródło
Jeśli zainstalujesz doskonałe narzędzie Hub firmy Defunkt , stanie się to tak proste, jak
git create
Według autora: „ hub to opakowanie wiersza polecenia dla git, dzięki któremu jesteś lepszy w GitHub ”.
źródło
hub
! Przydatny jest takżehub
- lub jakhub
zwykle aliasy dogit
...git fork
, który tworzy rozwidlenie repo dlapwd
sklonowanego repozytorium, w którym się znajdujesz ... Yay.Proste kroki (używając
git
+hub
=> GitHub ):Zainstaluj Hub ( GitHub ).
brew install hub
go get github.com/github/hub
w przeciwnym razie (również Go ):
Przejdź do repo lub utworzyć pustą:
mkdir foo && cd foo && git init
.Uruchom:
hub create
po raz pierwszy zapyta Cię o poświadczenia GitHub.Stosowanie:
hub create [-p] [-d DESCRIPTION] [-h HOMEPAGE] [NAME]
Przykład:
hub create -d Description -h example.com org_name/foo_repo
Następnie zatwierdzaj i pchaj jak zwykle lub zaznacz
hub commit
/hub push
.Aby uzyskać więcej pomocy, uruchom:
hub help
.Zobacz także: Importowanie repozytorium Git przy użyciu wiersza polecenia w GitHub.
źródło
Istnieje oficjalny klejnot github który, jak sądzę, robi to. W miarę uczenia się postaram się dodać więcej informacji, ale dopiero teraz odkrywam ten klejnot, więc jeszcze niewiele wiem.
AKTUALIZACJA: Po ustawieniu mojego klucza API jestem w stanie utworzyć nowe repo na githubie za pomocą
create
polecenia, jednak nie jestem w stanie użyćcreate-from-local
polecenia, które ma przejąć bieżące lokalne repo i wykonać odpowiedni zdalny na github.Jeśli ktoś ma wgląd w to, chciałbym wiedzieć, co robię źle. Problem został już zgłoszony .
AKTUALIZACJA: W końcu udało mi się to uruchomić. Nie jestem do końca pewien, jak odtworzyć problem, ale właśnie zacząłem od zera (usunąłem folder .git)
Teraz ten wiersz utworzy zdalne repozytorium, a nawet go wypchnie, ale niestety nie sądzę, żebym mógł podać nazwę repozytorium, które chciałbym. Chciałem, aby nazywało się to „dotfiles” na githubie, ale klejnot gh właśnie użył nazwy bieżącego folderu, którym był „jason”, ponieważ byłem w folderze domowym. (Dodałem bilet z prośbą o pożądane zachowanie)
Z drugiej strony to polecenie przyjmuje argument określający nazwę zdalnego repozytorium, ale jest ono przeznaczone do rozpoczęcia nowego projektu od zera, tj. Po wywołaniu tej komendy otrzymujesz nowe zdalne repozytorium, które śledzi repozytorium lokalne w nowo utworzonym podfolderze w stosunku do bieżącej pozycji, oba o nazwie określonej jako argument.
źródło
Aby szybko utworzyć zdalne repozytorium za pomocą powłoki Bash
Uciążliwe jest wpisywanie pełnego kodu za każdym razem, gdy ma zostać utworzone repozytorium
curl -u 'USER' https://api.github.com/user/repos -d '{"name":"REPO"}' git remote add origin [email protected]:USER/REPO.git git push origin master
Łatwiejszym podejściem jest:
githubscript.sh
githubscript.sh
plikuNB Tutaj
$1
jestrepository name
, który jest przekazywany jakoargument
podczas wywoływaniascript
ChangeYOUR_GITHUB_USER_NAME
przed zapisaniem skryptu.Ustaw wymagane uprawnienia do
script
plikuchmod 755 githubscript.sh
Dołącz katalog skryptów do pliku konfiguracyjnego środowiska.
nano ~/.profile; export PATH="$PATH:$HOME/Desktop/my_scripts"
Ustaw także alias, aby uruchomić plik githubscript.sh.
nano ~/.bashrc; alias githubrepo="bash githubscript.sh"
Teraz ponownie załaduj pliki
.bashrc
i.profile
w terminalu.source ~/.bashrc ~/.profile;
Teraz, aby utworzyć nowe repozytorium, tj .
demo
:githubrepo demo;
źródło
git remote add origin [email protected]:YOUR_GITHUB_USER_NAME/$1.git;
nagit remote add origin https://github.com/YOUR_GITHUB_USER_NAME/$1.git;
Dla użytkowników, którzy nie używają klucza SSH.Na podstawie innej odpowiedzi @Mechanical Snail, z wyjątkiem bez użycia pytona, który okazał się szalenie przesadny. Dodaj to do
~/.gitconfig
:źródło
Nie, musisz przynajmniej raz otworzyć przeglądarkę, aby utworzyć
username
GitHub. Po utworzeniu możesz wykorzystać interfejs API GitHub do tworzenia repozytoriów z wiersza poleceń, postępując zgodnie z poniższym poleceniem:Na przykład:
źródło
git remote add origin https://github.com/github-username/repo-name.git
połącz swój projekt lokalny z github. Na przykład polecenie wyglądałoby tak:git remote add origin https://github.com/arpitaggarwal/command-line-repo.git
W przypadku użytkowników z uwierzytelnianiem dwuskładnikowym możesz skorzystać z rozwiązania Bennedicha, ale wystarczy dodać nagłówek X-Github-OTP dla pierwszego polecenia. Zamień KOD na kod otrzymany od dostawcy uwierzytelniania dwuskładnikowego. Zastąp USER i REPO nazwą użytkownika i nazwą repozytorium, tak jak w jego rozwiązaniu.
źródło
Napisałem fajny skrypt dla tego o nazwie Gitter przy użyciu interfejsów API REST dla GitHub i BitBucket:
https://github.com/dderiso/gitter
BitBucket:
GitHub:
-c
= utwórz nowe repozytorium-r
= dostawca repo (g = GitHub, b = BitBucket)-n
= nazwij repozytorium-l
= (opcjonalnie) ustaw język aplikacji w repozytoriumźródło
Stworzyłem alias Git, aby to zrobić, w oparciu o odpowiedź Bennedicha . Dodaj następujące elementy do
~/.gitconfig
:Aby go użyć, uruchom
z dowolnego miejsca w lokalnym repozytorium i po wyświetleniu monitu wprowadź hasło do Github.
źródło
curl: (22) The requested URL returned error: 401 Traceback (most recent call last): File "<string>", line 1, in <module> File "/usr/lib64/python3.2/subprocess.py", line 488, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['curl', '-u', 'myusername', 'https://api.github.com/user/repos', '-d', '{"name": "reponame"}', '--fail']' returned non-zero exit status 22
Potrzebny jest hub . Hub to opakowanie linii poleceń dla git. Został stworzony do integracji z natywnym gitem przy użyciu aliasu. Próbuje udostępniać akcje github w git, w tym tworzenie nowego repozytorium.
źródło
Dla rubistów:
wprowadź nazwę użytkownika i pw zgodnie z monitem
Źródło: Elikem Adadevoh
źródło
Dla wszystkich użytkowników Python 2.7. *. Wokół interfejsu API Github, który jest obecnie w wersji 3, znajduje się opakowanie Pythona o nazwie GitPython . Po prostu zainstaluj za pomocą
easy_install PyGithub
lubpip install PyGithub
.Dokumenty
Repository
obiektowe są tutaj .źródło
Aby uzyskać wskazówki na temat tworzenia tokena, przejdź tutaj To polecenie, które wpiszesz (od daty tej odpowiedzi. (Zamień wszystkie słowa kluczowe CAPS):
Po wprowadzeniu hasła zobaczysz następujące informacje, które zawierają token.
Możesz odwołać swój token w dowolnym momencie, przechodząc tutaj
źródło
Z powodów związanych z powtórzeniami nie mogę dodać tego jako komentarza (w przypadku, gdy lepiej pójść z odpowiedzią Bennedicha) ), ale dla wiersza poleceń systemu Windows oto poprawna składnia:
curl -u NAZWA_UŻYTKOWNIKA https://api.github.com/user/repos -d "{\" name \ ": \" YOUR_REPO_NAME \ "}"
Jest to ta sama podstawowa forma, ale musisz użyć podwójnych cudzysłowów („) zamiast pojedynczych i unikaj podwójnych cudzysłowów wysyłanych w parametrach POST (po flagach -d) z odwrotnymi ukośnikami. Usunąłem też pojedyncze cudzysłowy wokół mojej nazwy użytkownika, ale jeśli twoja nazwa użytkownika ma spację (możliwe?), prawdopodobnie potrzebowałaby podwójnych cudzysłowów.
źródło
Disclamier: Jestem autorem projektu open source
Ta funkcja jest obsługiwana przez: https://github.com/chrissound/Human-Friendly-Commands zasadniczo jest to następujący skrypt:
źródło
Personal Access Token
. (Stary sposób dodawania go za pomocą?access_token=${ACCESSTOKEN}
nie działa już.Znaleziono to rozwiązanie, które mi się podobało: https://medium.com/@jakehasler/how-to-create-a-remote-git-repo-from-the-command-line-2d6857f49564
Najpierw musisz utworzyć osobisty token dostępu Github
Otwórz ~ / .bash_profile lub ~ / .bashrc w swoim ulubionym edytorze tekstu. Dodaj następujący wiersz u góry pliku, w którym znajdują się pozostałe zmienne eksportowane:
export GITHUB_API_TOKEN=<your-token-here>
Gdzieś poniżej, za pomocą innych funkcji bash, możesz wkleić coś podobnego do następującego:
Teraz za każdym razem, gdy tworzysz nowy projekt, możesz uruchomić polecenie
$ new-git awesome-repo
utworzenia nowego publicznego zdalnego repozytorium na koncie użytkownika Github.źródło
Dzięki oficjalnemu nowemu interfejsowi wiersza poleceń Github :
Zobacz dodatkowe szczegóły i opcje oraz instrukcje instalacji .
Na przykład, aby zakończyć proces pracy z git:
źródło
oto moje początkowe polecenia git (być może ta akcja ma miejsce
C:/Documents and Settings/your_username/
):źródło
Niedawno dowiedziałem się o create-github-repo . Z pliku Readme:
Zainstalować:
Stosowanie:
Lub:
źródło
utwórz nowe repozytorium w wierszu poleceń
wypchnij istniejące repozytorium z wiersza poleceń
źródło