Latest web development tutorials

Git zdalnego repozytorium

Git nie jest to, że nie ma centralnego serwera, jak SVN.

Obecnie używamy do git polecenia są wykonywane lokalnie, Git, jeśli chcesz udostępnić swój kod lub we współpracy z innymi programistami. Trzeba umieścić dane na jednym serwerze może łączyć się z innymi programistami.

Ten przykład używa repozytorium GitHub jako pilota, można przeczytać nasze pierwsze GitHub prosty samouczek.


Dodawanie bibliotek zdalnych

Aby dodać nowy zdalnego repozytorium, można określić prostą nazwę, na przyszłość, format polecenia jest następująca:

git remote add [shortname] [url]

W tym przykładzie, zdalne repozytorium Github jako przykład, jeśli nie możesz GitHub oficjalną stronę https://github.com/ zarejestrowany.

Ponieważ transmisja lokalnym repozytorium Git i github repozytorium odbywa się za pomocą szyfrowania SSH, więc musimy skonfigurować informacje o uwierzytelnianiu:

Użyj następującego polecenia, aby wygenerować klucz SSH:

$ ssh-keygen -t rsa -C "[email protected]"

[email protected] powrotem do skrzynki pocztowej zarejestrowanej na github, to zostanie poproszony o potwierdzenie ścieżkę i wprowadź hasło, które używamy domyślny sposób, aby wprowadzić linię. Udane wygeneruje .ssh folderu ~ / poniżej, wewnętrzny, otwarty id_rsa.pub, skopiuj wewnątrz klucza.

Powrót na github, wprowadź Ustawienia konta (konfiguracja konta), po lewej stronie wybierz kluczy SSH, SSH Dodaj klucz, tytuł Wystarczy wypełnić wklejony generowane na komputerze klucz.

Aby zweryfikować sukces, wprowadź następujące polecenie:

$ ssh -T [email protected]
Hi tianqixin! You've successfully authenticated, but GitHub does not provide shell access.

Poniższe polecenie pokazuje, że udało nam się podłączyć do Github.

Po zalogowaniu się i kliknij "Nowy repozytorium", jak pokazano poniżej:

Po wypełnionym w3cschool.cc Repository name (nazwa zdalnego repozytorium), inne zachowanie ustawień domyślnych, kliknij na przycisk "Utwórz repozytorium", z powodzeniem stworzyła nowy repozytorium git:

Po utworzeniu wyświetlane są następujące informacje:

Powyższe informacje możemy powiedzieć z tego repozytorium klonu nowego magazynu, treści mogą być przekazywane do lokalnego repozytorium GitHub repozytorium.

Teraz postępuj zgodnie z instrukcjami na GitHub i uruchom komendę w lokalnym magazynie:

$ ls
README
w3cschool本教程测试.txt
test.txt
$ git remote add origin [email protected]:tianqixin/w3cschool.cc.git
$ git push -u origin master
Counting objects: 21, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (15/15), done.
Writing objects: 100% (21/21), 1.73 KiB | 0 bytes/s, done.
Total 21 (delta 4), reused 0 (delta 0)
To [email protected]:tianqixin/w3cschool.cc.git
 * [new branch]      master -> master
Branch master set up to track remote branch master from origin.

Poniższe komendy w zależności od lokalnej kopii w Github pomyślnie utworzony nowy magazyn, a nie każ mi, bo nasza nazwa Github nie jest taka sama, a nie sama nazwa repozytorium.

Następnie tworzymy zwrot GitHub repozytorium, można zobaczyć pliki zostały przesłane do Github:


Sprawdź aktualną zdalne biblioteki

Aby zobaczyć, co obecny zdalnego repozytorium jest ułożone, można użyć polecenia:

git remote
$ git remote
origin
$ git remote -v
origin	[email protected]:tianqixin/w3cschool.cc.git (fetch)
origin	[email protected]:tianqixin/w3cschool.cc.git (push)

Z parametrem -v, można również zobaczyć rzeczywisty adres linku dla każdego aliasu gdy wykonywane.


Wyciąg zdalnego repozytorium

Git ma dwa polecenia używane do wyodrębnienia zdalnej aktualizacji repozytorium.

1. Pobierz nowy oddział z danymi ze zdalnego repozytorium:

git fetch

Konieczność przeprowadzenia po czym uruchomić git scalić zdalnego oddziału w oddziale znajduje.

2, wyodrębnić dane ze zdalnego magazynu i starają się scalić bieżącego oddziału:

git pull

Polecenie jest wykonywane w dowolnym oddziale w swojej git zwrcania natychmiast po wprowadzeniu zdalnego oddziału do seryjnej git.

Załóżmy skonfigurowaniu zdalnego repozytorium, a chcesz, aby wyodrębnić zaktualizowane dane, można uruchomić git pobieraniu [alias] powiedzieć, Git, aby to nie masz danych, a następnie można uruchomić pierwszą git scalić [alias] / [oddział ], aby wszelkie aktualizacje na serwerze (zakładając, że tym razem został zepchnięty do serwera) do aktualnej gałęzi.

Następnie kliknij na "w3cschool Tutorial .txt" na Github i modyfikować je w Internecie. Po zaktualizowaniu zmiany lokalnie.

$ git fetch origin
Warning: Permanently added the RSA host key for IP address '192.30.252.128' to the list of known hosts.
remote: Counting objects: 3, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
From github.com:tianqixin/w3cschool.cc
   7d2081c..f5f3dd5  master     -> origin/master

Powyższa informacja "7d2081c..f5f3dd5 master -> pochodzenie / master" Instrukcja gałąź master zostały zaktualizowane, możemy użyć następującego polecenia, aby aktualizować zsynchronizowany z lokalnym:

$ git merge origin/master
Updating 7d2081c..f5f3dd5
Fast-forward
 "w3cschool\350\217\234\351\270\237\346\225\231\347\250\213\346\265\213\350\257\225.txt" | 1 +
 1 file changed, 1 insertion(+)

Popchnąć do zdalnego repozytorium

Push nowy oddział i magazyn danych do dalszego końca polecenia:

git push [alias] [branch]

Powyższa komenda [gałąź] Oddział push to stać [gałąź] gałąź, przykłady [alias] zdalne repozytorium jest następująca.

$ git merge origin/master
Updating 7d2081c..f5f3dd5
Fast-forward
 "w3cschool\350\217\234\351\270\237\346\225\231\347\250\213\346\265\213\350\257\225.txt" | 1 +
 1 file changed, 1 insertion(+)
bogon:w3cschoolcc tianqixin$ vim w3cschool本教程测试.txt 
bogon:w3cschoolcc tianqixin$ git push origin master
Everything up-to-date

Usuń zdalnego repozytorium

Usuwanie zdalnego repozytorium można użyć polecenia:

git remote rm [别名]
$ git remote -v
origin	[email protected]:tianqixin/w3cschool.cc.git (fetch)
origin	[email protected]:tianqixin/w3cschool.cc.git (push)
$ git remote add origin2 [email protected]:tianqixin/w3cschool.cc.git
$ git remote -v
origin	[email protected]:tianqixin/w3cschool.cc.git (fetch)
origin	[email protected]:tianqixin/w3cschool.cc.git (push)
origin2	[email protected]:tianqixin/w3cschool.cc.git (fetch)
origin2	[email protected]:tianqixin/w3cschool.cc.git (push)
$ git remote rm origin2
$ git remote -v
origin	[email protected]:tianqixin/w3cschool.cc.git (fetch)
origin	[email protected]:tianqixin/w3cschool.cc.git (push)