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上新增該公鑰,並命名。
其他使用者也可以新增金鑰。
新增成功後,就可以在本地測試克隆、拉取專案命令了。