Git-Remote-Repository (GitHub)
Git hat keinen zentralen Server wie SVN.
Die Git-Befehle, die wir bisher verwenden, werden alle lokal ausgeführt. Wenn du deinen Code über Git teilen oder mit anderen Entwicklern zusammenarbeiten möchtest, musst du die Daten auf einem Server ablegen, mit dem sich andere Entwickler verbinden können.
Dieses Beispiel verwendet GitHub als Remote-Repository. Du kannst zuerst unserGitHub-Kurztutorial lesen.

Remote-Repository hinzufügen
Um ein neues Remote-Repository hinzuzufügen, kannst du einen einfachen Namen zur späteren Referenz angeben. Das Befehlsformat ist wie folgt:
git remote add [shortname] [url]
Dieses Beispiel verwendet GitHub als Remote-Repository. Wenn Sie kein GitHub haben, können Sie die offizielle Website [besuchen]https://github.com/Registrieren.
Da die Übertragung zwischen Ihrem lokalen Git-Repository und dem GitHub-Repository über SSH verschlüsselt ist, müssen wir Authentifizierungsinformationen konfigurieren:
Verwenden Sie den folgenden Befehl, um einen SSH-Schlüssel zu generieren:
$ ssh-keygen -t rsa -C "[email protected]"
das Folgende[email protected]Ändern Sie es in die E-Mail-Adresse, mit der Sie sich bei GitHub registriert haben. Danach werden Sie aufgefordert, den Pfad zu bestätigen und ein Passwort einzugeben. Hier verwenden wir einfach die Standardeinstellungen und drücken durchgehend Enter.
Bei Erfolg wird er bei~/erzeugt unter.sshOrdner, gehen Sie hinein, öffnen Sie.id_rsa.pub, kopieren Sie den Inhalt darinkey。
$ ssh-keygen -t rsa -C "[email protected]" Generating public/private rsa key pair. Enter file in which to save the key (/Users/tianqixin/.ssh/id_rsa): Enter passphrase (empty for no passphrase): # 直接回车 Enter same passphrase again: # 直接回车 Your identification has been saved in /Users/tianqixin/.ssh/id_rsa. Your public key has been saved in /Users/tianqixin/.ssh/id_rsa.pub. The key fingerprint is: SHA256:MDKVidPTDXIQoJwoqUmI4LBAsg5XByBlrOEzkxrwARI [email protected] The key's randomart image is: +---[RSA 3072]----+ |E*+.+=**oo | |%Oo+oo=o. . | |%**.o.o. | |OO. o o | |+o+ S | |. | | | | | | | +----[SHA256]-----+
Gehen Sie zurück zu GitHub, gehen Sie zu Account => Settings (Kontokonfiguration).

Am linken Rand auswählenSSH and GPG keys, dann klicken Sie aufNew SSH keyKlicken Sie auf die Schaltfläche, legen Sie den Titel im Feld Title fest — Sie können alles eingeben — und fügen Sie den auf Ihrem Computer generierten Schlüssel ein.


Nach erfolgreichem Hinzufügen sieht die Oberfläche wie unten gezeigt aus.

Um zu überprüfen, ob es erfolgreich war, geben Sie den folgenden Befehl ein:
$ ssh -T [email protected] The authenticity of host 'github.com (52.74.223.119)' can't be established. RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes # 输入 yes Warning: Permanently added 'github.com,52.74.223.119' (RSA) to the list of known hosts. Hi tianqixin! You've successfully authenticated, but GitHub does not provide shell access. # 成功信息
Der folgende Befehl zeigt an, dass wir erfolgreich eine Verbindung zu GitHub hergestellt haben.
Klicken Sie nach der Anmeldung auf "New repository", wie unten gezeigt:
Füllen Sie danach "example-git-test" (Name des Remote-Repositorys) in das Feld Repository name ein, behalten Sie die anderen Standardeinstellungen bei und klicken Sie auf die Schaltfläche "Create repository". Damit wird erfolgreich ein neues Git-Repository erstellt:
Nach erfolgreicher Erstellung werden die folgenden Informationen angezeigt:
Die obigen Informationen zeigen uns, dass wir ein neues Repository aus diesem Repository klonen können und dass wir auch den Inhalt des lokalen Repositorys in das GitHub-Repository pushen können.
Führen Sie nun gemäß den Aufforderungen von GitHub die Befehle im lokalen Repository aus:
$ mkdir example-git-test # 创建测试目录 $ cd example-git-test/ # 进入测试目录 $ echo "# Example Git 测试" >> README.md # 创建 README.md 文件并写入内容 $ ls # 查看目录下的文件 README $ git init # 初始化 $ git add README.md # 添加文件 $ git commit -m "添加 README.md 文件" # 提交并备注信息 [master (root-commit) 0205aab] 添加 README.md 文件 1 file changed, 1 insertion(+) create mode 100644 README.md # 提交到 Github $ git remote add origin [email protected]:tianqixin/example-git-test.git $ git push -u origin master
Bitte kopieren Sie die folgenden Befehle von der Stelle, an der Sie das neue Repository auf GitHub erfolgreich erstellt haben, anstatt die von mir bereitgestellten Befehle zu verwenden, da unsere GitHub-Benutzernamen unterschiedlich sind und die Repository-Namen ebenfalls unterschiedlich sind.
Als Nächstes kehren wir zu dem auf GitHub erstellten Repository zurück, und wir können sehen, dass die Dateien auf GitHub hochgeladen wurden:
Das aktuelle Remote-Repository anzeigen.
Um zu sehen, welche Remote-Repositories derzeit konfiguriert sind, können Sie den Befehl verwenden:
git remote
Beispiel
$ git remote origin $ git remote -v origin [email protected]:tianqixin/example-git-test.git (fetch) origin [email protected]:tianqixin/example-git-test.git (push)
Wenn Sie ihn mit dem Parameter -v ausführen, können Sie auch die tatsächliche Linkadresse jedes Alias sehen.
Das Remote-Repository abrufen
Git hat zwei Befehle, mit denen Updates von einem Remote-Repository abgerufen werden.
1. Neue Branches und Daten aus dem Remote-Repository herunterladen:
git fetch
Nachdem dieser Befehl ausgeführt wurde, müssen Sie git merge ausführen, um den Remote-Branch mit Ihrem aktuellen Branch zusammenzuführen.
2. Daten aus dem Remote-Repository abrufen und versuchen, sie in den aktuellen Branch zu mergen:
git merge
Dieser Befehl führtgit fetchaus. Führen Sie dann sofortgit mergeaus, um den Remote-Branch in jeden Branch zu mergen, in dem Sie sich befinden.

Angenommen, Sie haben ein Remote-Repository konfiguriert und möchten aktualisierte Daten abrufen. Sie können zuerstgit fetch [alias]ausführen, um Git anzuweisen, Daten abzurufen, die es hat, Sie aber noch nicht, und dann können Siegit merge [alias]/[branch] ausführen,um alle Updates auf dem Server (angenommen, jemand hat zu diesem Zeitpunkt auf den Server gepusht) in Ihren aktuellen Branch zu mergen.
Als Nächstes klicken wir auf GitHub auf "README.md" und bearbeiten sie online:

Dann aktualisieren und ändern wir es lokal.
$ git fetch origin remote: Counting objects: 3, done. remote: Compressing objects: 100% (2/2), done. remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 Unpacking objects: 100% (3/3), done. From github.com:tianqixin/example-git-test 0205aab..febd8ed master -> origin/master
Die obige Information "0205aab..febd8ed master -> origin/master" zeigt an, dass der Master-Branch aktualisiert wurde. Wir können den folgenden Befehl verwenden, um die Updates mit dem lokalen Repository zu synchronisieren:
$ git merge origin/master Updating 0205aab..febd8ed Fast-forward README.md | 1 + 1 file changed, 1 insertion(+)
Inhalt der Datei README.md anzeigen:
$ cat README.md # Example Git 测试 ## 第一次修改内容
Push zum Remote-Repository
Befehl zum Pushen Ihres neuen Branches und der Daten in ein Remote-Repository:
git push [alias] [branch]
Der obige Befehl pusht Ihren [branch]-Branch, sodass er zum [branch]-Branch im [alias]-Remote-Repository wird. Ein Beispiel ist wie folgt.
$ touch example-test.txt # 添加文件 $ git add example-test.txt $ git commit -m "添加到远程" master 69e702d] 添加到远程 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 example-test.txt $ git push origin master # 推送到 Github
Kehren Sie zu unserem GitHub-Repository zurück, und Sie können sehen, dass die Datei committet wurde:

Remote-Repository löschen
Um ein Remote-Repository zu löschen, kannst du den Befehl verwenden:
git remote rm [别名]
Beispiel
$ git remote -v origin [email protected]:tianqixin/example-git-test.git (fetch) origin [email protected]:tianqixin/example-git-test.git (push) # 添加仓库 origin2 $ git remote add origin2 [email protected]:tianqixin/example-git-test.git $ git remote -v origin [email protected]:tianqixin/example-git-test.git (fetch) origin [email protected]:tianqixin/example-git-test.git (push) origin2 [email protected]:tianqixin/example-git-test.git (fetch) origin2 [email protected]:tianqixin/example-git-test.git (push) # 删除仓库 origin2 $ git remote rm origin2 $ git remote -v origin [email protected]:tianqixin/example-git-test.git (fetch) origin [email protected]:tianqixin/example-git-test.git (push)other extensions






