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)

Usage CODING 仓library

fordeveloperand言 GitHub alreadyNo陌生completed,In平time'sDevelopmentMediumwillCode托管to GitHub ToptenDivide方convenient. However、国insideuser通常willencounteraProblemJustYes: GitHub ofVisitSpeed太Slow。In阿里Cloudand腾讯CloudofHostTop clone Codewhen,ifHostof带宽No够big,clone Code简straightJustYes龟速。常常还willAppear:丢Package、失goconnectionwaitsituation.forThis kind offeelingcondition,ifyou想body验飞速of Git Services,No妨试着useoneBottom 腾讯ClouddeveloperPlatform。relative toGitHub,CODING exceptProvideFreeof Git 仓libraryin addition, alsoGiveI们providesFreeofPrivate repository(FreeofOrdinarywill员Provide 10 itemsprivateProject、512M Git 仓libraryCapacity). In addition、CODING 还isI们Freeprovides,Project管manage、Task管manage、Team management、File管managewaitfunction,tenDividestrongbig。

below,IYes试着to create a CODING Project, andwill GitHub TopofCode迁moveto CODING。通常,Divideisthree步:

  • 1、Create CODING Project
  • 2、will GitHub Code Pull tobookground
  • 3、bookgroundcloseunite CODING 仓library,Push Codeto CODING

Create CODING Project:

Log in 腾讯ClouddeveloperPlatform Register账Number, thenInProject管managePageMediumCreate Project,这one步No做赘述,pressyouofrequires填writeProject NameandDescription,Select License Typesufficient,About License ofSelectYesReference这articleArticles:How to chooseOpen sourceLicense?。ProjectCreate完ChengAmong them,InRight侧Menu BarinCodeOptions卡YesPairCodeenterlinerelatedof管manageandOperation

will GitHub Code Pull tobookground:

Log in GitHub Selectyou想wantImportof仓libraryandCopy仓libraryAddress,InbookgroundExecute commands, then GitHub repositoryCode拉Bottomcome:

sudo git clone

bookgroundcloseunite CODING 仓library,Push Codeto CODING:

首先I们Execute commands:git remote -v

Yes看to,currentof git alreadycloseunitealreadyafarCourse仓Library.

Therefore,JieBottomcomeI们ExecutewithBottomCommand,comecloseunite CODING farCourse仓library(the following仓libraryAddressrequiresReplace withyouof CODING ProjectofAddress!) No.one条Commandrole ofYesDeletepresentYesof仓librarycloseunite,behindtwo条CommandThenYeswill仓librarycloseuniteto CODING the address of,AlsowillCode Push to master branch

sudo git remote rm origin
sudo git remote add origin https://git.coding.net/xxx/xxx.git
sudo git push -u origin master

after that,I们againenter入 CODING ProjectMediumCode管manageofPage,convenientYes看toI们刚才 Push TopgoofCodealready。Tothis、GitHub TopofProjectalreadyComplete迁movetoalready CODING Platform!

CODING 仓libraryof免Password Push/Pull

Code迁moveto CODING after that,I们discover,Each time Push/Pull Codeofwhen候allwillHintI们InputUsernameandPassword。This isbecause,ourProject还noadd SSH Key,只abilityThroughUsername/Passwordverify. and CODING YesisI们provides公钥verifyway ofof,enter入Project管manage,InLeft侧Options卡MediumClick"公钥Deployment"button,Then ClickRight侧of"New公钥Deployment"

we willbookgroundof公钥contentPastetocorrespondingPosition, andGive公钥命nameoneBottom(View/GenerateLocal公钥,YesReference这article博text:ViewLocal ssh 公钥,Generate公钥)。勾选"授予推sendPermissions"ThenYes授予这台machinedevicePushCodeofPermissions。

SaveOKSettingsAfter,I们again尝试。At this point,Push/Pull CodeNoInrequiresverifyUsernamePassword。Tothis,ourCodeconvenient完全托管Inalready CODING PlatformTop,享accept他ofconvenient捷and飞速吧!

For exampleYes疑askpleasequeryread帮助Documentation

Now CODING correctIn举办one场based on Cloud Studio 工doSpaceof【I最喜loveof Cloud Studio Plugin评选big赛】。enter入EventsOfficial Website:https://studio.qcloud.coding.net/campaign/favorite-plugins/index,Learn moreEventsinformation.

other extensions