git結合github遠端倉庫使用
遠端倉庫github使用====================================
多人協作開發流程:
A在自己計算機建立本地倉庫
A在github中建立遠端倉庫
A將本地倉庫推送到遠端倉庫
B克隆遠端倉庫到本地進行開發
B將本地倉庫開發的內容推送到遠端倉庫
A將遠端倉庫內的最新內容拉取到本地
Github註冊使用
一、訪問github官網,進行註冊sign up註冊,sign in登入。
二、在github中建立專案
github倉庫建立完成後,可見基本使用命令介紹:
三、命令介紹
建立完成後,會自動進入到該遠端倉庫的命令介紹頁面
如同: https://github.com/qika2013/git-demo.git 這就是表示遠端倉庫的地址 git push 遠端倉庫地址 分支名稱 git push 遠端倉庫地址別名 分支名稱 git push -u 遠端倉庫地址別名 分支名稱 -u表示記住推送地址和分支,下次推送只需要輸入git push即可了 git remote add 遠端倉庫地址別名 遠端倉庫地址
四、實際操作:
1、推送本地內容內容到遠端倉庫
輸入:git push 遠端倉庫地址 自己要推送的本地分支名稱
輸入完成後,會彈框進行驗證許可權。正常進行操作即可
完成後:git 的命令列介面展示出推送成功的資訊,成功將
並且:開啟github可檢視到自己本地推送的內容
2、給遠端倉庫地址起一個別名(否則每次都輸入很長一大串,太長)
git remote add 遠端倉庫地址別名 遠端倉庫地址
截圖裡的origin 就是對github遠端倉庫的地址設定的別名
然後,後面再進行將本地倉庫內容推送至遠端倉庫時,只需要:
git push origin master
3、 -u命令記住推送地址和分支,下次直接輸入git push就可以推送
因為首次使用了-u命令後,後續進行推送本地倉庫master分支內容到遠端時,只需要輸入git push即可(這樣是否就像網站的記住賬號密碼功能?)
克隆
克隆遠端倉庫資料到本地,命令: git clone 遠端倉庫地址
注意: 1一般用於第一次加入專案組內時使用,因為這時候你沒有專案程式碼,直接先將遠端倉庫內所有克隆下來 2克隆是不需要像之前自己推送那樣需要驗證。克隆可以隨便對遠端倉庫github的內容進行克隆拉取(只要倉庫可見)
實際操作:
1開啟github專案頁面
在專案頁面可見code(滑鼠點選會看見當前專案的倉庫地址,複製出來即可)
另:不會使用Git的可以直接點選download,下載專案的壓縮包也可
2在自己本地電腦新建資料夾(用來存放克隆專案,隨便自己放),然後右鍵進入git命令列
將github當中複製得到的倉庫地址貼上到自己的本地git命令列內:
輸入即可:git clone 遠端倉庫地址
3等待克隆完成,自己可在自己本地的某資料夾內檢視到克隆下來的專案檔案了
多人使用遠端倉庫(許可權)
當設定了遠端倉庫後,A在一直使用,當B突然加入使用時,難道可以直接拉取專案就能推送本地倉庫內容至遠端倉庫嗎?
肯定是不可能的。那怎麼辦呢?就需要A去給B授權了
例--流程:
A授權B……(管理員加人到專案內)使用遠端倉庫:
1 人員A進入github遠端倉庫內,找到settings-->>Manage access頁面,進行邀請合作人員
2 成功後,將會給被邀請的人傳送邀請連結,被邀請人點選連結進行加入即可。
3 一切完成,正常使用即可
成員互相拉取遠端倉庫內的最新版本內容
命令:git pull 遠端倉庫地址 分支名稱
注意:這個是不需要進行驗證身份的,直接操作即可
實際操作:
Git pull origin master
這裡就表示拉取的是origin(遠端倉庫地址的別名)內的master分支的內容
拉取遠端倉庫內指定的分支最新版本內容完成後,可見git命令列內會顯示提示資訊
SSH免登陸
概念
之前我們使用的都是https的遠端倉庫地址,一般在使用時,推送等操作時都需要驗證的(即使用者名稱\密碼驗證)
而在github中還可進行使用ssh協議進行免登陸操作,如:github內可見ssh地址
作用:在身份驗證時,不用輸入使用者名稱和密碼,原因是因為在ssh協議裡面,驗證是通過“祕鑰”來實現的,祕鑰是成對出現的(私鑰和公鑰),ssh通過驗證私鑰和公鑰的配對情況來驗證是否通過。(如同鑰匙和門鎖一樣的關係)
注意:!!!一般祕鑰是儲存在電腦本地的,當我們通過SSH協議把本地倉庫內容推送到遠端倉庫內時,就會驗證我們本地的“私鑰”和遠端倉庫內的“公鑰”是否配對,這樣才能實現推送
獲取祕鑰的方法:(私鑰和公鑰)
Git命令列內輸入:ssh-keygen,然後一直回車預設即可,出現如下介面資訊為止
從上可見祕鑰的儲存位置:C:\Users\Administrator\.ssh
解釋:
Id_rsa 私鑰,一般預設儲存在我們自己的本地電腦即可
Id_rsa.pub 公鑰,一般是要手動設定在遠端倉庫所在的伺服器的(步驟看後面)
配置祕鑰(私鑰和公鑰)+++++++
私鑰:儲存在我們本地電腦就行了,不用管。
公鑰:
先在本地找到祕鑰所儲存的位置路徑,然後開啟公鑰檔案,複製內容;
然後開啟github,在介面找到使用者設定的位置
跳轉後,找到SSH key設定的位置,進行點選NEW SSH KEYS。
然後將本地電腦上獲取到的“公鑰”檔案打開復制內容,在github的SSH KEYS新增頁面,貼上進去即可,
儲存即可(如果彈框驗證登入密碼,輸入即可)
完成後可見,已經設定好了
然後再github遠端倉庫內檢視,可看到SSH的使用地址
配置完成後,使用ssh協議來實現免登入驗證,來實現推送本地內容到遠端倉庫
命令:
git remote add origin-ssh [email protected]:qika2013/git-demo.git這表示給ssh協議的遠端倉庫地,起一個別名(不然每次都這麼長輸入,很麻煩)
git push origin-ssh master 然後進行推送即可
說明:!!!在推送時,命令列介面可能會彈出提示,根據提示輸入yes即可。
可見結果是成功的(即:實現了使用SSH協議的遠端倉庫地址,來講本地倉庫的內容推送到遠端倉庫內,沒有彈出驗證就實現了本地推送至遠端倉庫。完美)
========================================================================
=========================================================================
注:
容易產生的衝突問題:一般在多人蔘與同一專案時,如果兩人同時修改了同一個檔案的同一個地方,會產生衝突。這時候是無法進行推送的
原因:第一個人操作了提交併推送至遠端,此時遠端倉庫內容改變,第二個人再進行提交併推送時,就無法成功了(因為遠端倉庫版本比本地倉庫版本高了,無法提交)
解決:先重新拉取遠端倉庫最新版本內容,然後再提交
如同:
https://github.com/qika2013/git-demo.git這就是表示遠端倉庫的地址
git push遠端倉庫地址 分支名稱
git push遠端倉庫地址別名 分支名稱
git push-u 遠端倉庫地址別名 分支名稱
-u表示記住推送地址和分支,下次推送只需要輸入git push即可了
git remoteadd 遠端倉庫地址別名 遠端倉庫地址