1. 程式人生 > 其它 >git:遠端倉庫(GitHub、GitLab)+涉及到的命令

git:遠端倉庫(GitHub、GitLab)+涉及到的命令


涉及到的命令

git remote (定義遠端倉庫別名)

$git remote     不帶引數,列出已經存在的遠端分支(只有別名)
$git remote -v 列出詳細資訊,在每一個名字後面列出其遠端url

新增遠端版本庫 $git remote add [shortname] [url] 其中shortname:為url對映到本地庫的別名。 例: 提交到 Github $ git remote add origin [email protected]:tianqixin
/runoob-git-test.git $ git push -u origin master 刪除遠端倉庫 $git remote rm name(別名) 修改倉庫名 $git remote rename old_name new_name

git push (將本地專案推送到遠端)

git push 命令作用:用於從將本地的分支版本上傳到遠端併合並。
$git push 引數 <遠端主機名> <本地分支名>:<遠端分支名>
如果本地分支名與遠端分支名相同,則可以省略冒號:$
git push <遠端主機名> <本地分支名>
  其中:遠端主機名就是url的別名。
  -u:第一次推送master分支時,加上了 –u引數,Git不但會把本地的master分支內容推送的遠端新的master分支,還會把本地的master分支和遠端的master分支關聯起來,在以後的推送或者拉取時就可以簡化命令。
  --force:強制推送,即使版本有差異。
  --delete:刪除主機分支。

例項:
$git push -u origin master
$
git push --force origin master
$
git push origin --delete master

git clone (從遠端拉取專案到本地)

如
$git remote  add gitlab_test  git@192.168.24.135:MuYu/test.git
$git clone gitlab_test
$git clone
[email protected]:MuYu/test.git
$git clone https://gitee.com/zhong-jingshan/web-design-and-production.git




本地git和GitHub上傳公鑰

一:使用遠端倉庫前的準備工作

使用github遠端倉庫前,需要註冊一個賬號。

由於你的本地Git倉庫和github倉庫之間的傳輸是通過SSH加密的,所以需要一點設定:

第一步:建立SSH Key

在使用者主目錄下,看看有沒有.ssh目錄,如果有,再看看這個目錄下有沒有id_rsa和id_rsa.pub這兩個檔案,如果有的話,直接跳過此如下命令,如果沒有的話,開啟命令列,輸入如下命令:

sh-keygen -t rsa –C “[email protected]

ssh-keygen -t rsa –C “[email protected]”, 由於我本地此前執行過一次,所以本地有,如下所示:

第一個是私鑰,自己保留不能洩露。

第二個是公鑰id_rsa.pub,可以分享給別人,讓自己和別人通訊。

第二步:github新增ssh公鑰

登入github,開啟” settings”中的SSH Keys頁面,然後點選“ SSH and GPG Keys”,選擇"NEW SSH keys"填上任意title,在Key文字框裡黏貼id_rsa.pub檔案的內容,然後點選"Add SSH key"。

如圖,新增結果即為新增好的key。

第三步:新增遠端庫

現在的情景是:我們已經在本地建立了一個Git倉庫後,又想在github建立一個Git倉庫,並且希望這兩個倉庫進行遠端同步,這樣github的倉庫可以作為備份,又可以其他人通過該倉庫來協作。

首先,登入github上,然後在右上角找到“new repository”建立一個新的倉庫。如下:

如圖,目前倉庫還是空的

二:將本地倉庫和遠端倉庫關聯,並將本地倉庫推送到遠端倉庫上

目前,在GitHub上的這個WHoutest倉庫還是空的,GitHub告訴我們,可以從這個倉庫克隆出新的倉庫,也可以把一個已有的本地倉庫與之關聯,然後,把本地倉庫的內容推送到GitHub倉庫。

  現在,我們根據github的提示,在本地的test倉庫下執行命令

  $git remote add origin https://github.com/gaokai-github/WHoutest.git (其中origin是遠端連結在本地倉庫的"別名")

然後把本地的倉庫分支,推送到遠端倉庫上。

  $cd /d/Git/test/

  $git push -u origin master (把本地分支master推送到遠端倉庫origin上)

點選藍色條中的按鈕後,會再跳出一個新的介面

點選綠色條按鈕,然後會提示新增成功,之後命令會自動執行成功,如圖:

,此時檢視github上WHoutest倉庫

由於遠端庫是空的,我們第一次推送master分支時,加上了 –u引數,Git不但會把本地的master分支內容推送的遠端新的master分支,還會把本地的master分支和遠端的master分支關聯起來,在以後的推送或者拉取時就可以簡化命令。推送成功後,可以立刻在github頁面中看到遠端庫的內容已經和本地一模一樣了。

從現在起,只要本地作了提交,就可以通過如下命令:$git push origin master,即可。

現在就把本地master分支的最新修改推送到github上了,現在你就擁有了真正的分散式版本庫了。

三:從遠端庫克隆

上面我們瞭解了先有本地庫,後有遠端庫時候,如何關聯遠端庫。

現在我們想,假如遠端庫有新的內容了,我想克隆到本地來 如何克隆呢?

首先,登入github,建立一個新的倉庫,名字叫WHoutest2如下:


git和gitlab實現免密上傳和克隆

一、windows上建立金鑰

在使用者主目錄下,看看有沒有.ssh目錄,如果有,再看看這個目錄下有沒有id_rsa和id_rsa.pub這兩個檔案,如果有的話,直接跳過此如下命令,如果沒有的話,開啟命令列,輸入如下命令:

sh-keygen -t rsa –C “[email protected]

ssh-keygen -t rsa –C “[email protected]”, 由於我本地此前執行過一次,所以本地有,如下所示:

第一個是私鑰,自己保留不能洩露。

第二個是公鑰id_rsa.pub,可以分享給別人,讓自己和別人通訊。

二、在GitLab上新增該公鑰,並命名。

其他使用者也可以新增金鑰。

新增成功後,就可以在本地測試克隆、拉取專案命令了。