一.分布式版本控制系統
分布式版本控制系統通常也有?臺充當“中央服務器”的電腦,但這個服務器的作?僅僅是?來?便“交換”?家的修改,沒有它?家也?樣?活,只是交換修改不?便?已。有了這個“中央服務器”的電腦,這樣就不怕本地出現什么故障了(?如運?差,硬盤壞了,上?的所有東西全部丟失,包括git的所有內容)
如圖:
二.遠程倉庫
我們這里講解就通過gittub來實現,網址如下:
開源軟件 - Gitee.com
至于新建遠程倉庫,大家可以自行去注冊賬號,我們直接用linux來操作:
2.1.克隆遠程倉庫
git clone +鏈接;
//表示克隆遠程倉庫
鏈接是指遠程倉庫網址,操作如下:
點擊克隆:
這里就會顯示不同協議的網址信息
SSH協議和HTTPS協議是Git最常使?的兩種數據傳輸協議。SSH協議使?了公鑰加密和公鑰登陸機制,體現了其實?性和安全性,使?此協議需要將我們的公鑰放上服務器,由Git服務器進?管理。使?HTTPS?式時,沒有要求,可以直接克隆下來
?
使?HTTPS?式:
如下:
出現的linux-study就是我們的遠程倉庫
使?SSH?式:
SSH?式克隆倉庫,需要我們添加公鑰到遠端庫中,否則服務器會拒絕了我們的clone鏈接,需要
我們設置?下。
?
步驟如下:
第?步:創建SSH Key
在??主?錄下,看看有沒有.ssh?錄,如果有,再看看這個?錄下有沒有id_rsa 和 id_rsa.pub 這兩個?件,如果已經有了,可直接跳到下?步。如果沒有,需要創建SSH Key:
指令:
ssh-keygen -t rsa -C +郵箱;
順利的話,可以在??主?錄?找到 .ssh ?錄,??有 id_rsa 和 id_rsa.pub 兩個?件,這兩
個就是SSHKey的秘鑰對, id_rsa 是私鑰,不能泄露出去, id_rsa.pub 是公鑰,可以放?地告
訴任何?
?
第?步:添加??的公鑰到遠端倉庫
在gitee設置中有ssh,如下:
在上面添加即可
注意:添加的是公鑰
此時就可以git clone ssh協議了:
如果有多個?協作開發,GitHub/Gitee允許添加多個公鑰,只要把每個?的電腦上的Key都添加到GitHub/Gitee,就可以在每臺電腦上往GitHub/Gitee上提交推送了。當我們從遠程倉庫克隆后,實際上Git會?動把本地的master分?和遠程的master分?對應起來,并且,遠程倉庫的默認名稱是origin 。在本地我們可以使? git remote 命令,來查看遠程庫的信息,指令如下:
git remote;
注意:你必須cd進入遠程倉庫中
git remote -v;
//顯示更詳細信息
2.2.向遠程倉庫推送
?
我們書寫以下內容:
將filetxt推送到遠程倉庫
注意:
我們一定要查看name和e-mail是否和遠程倉庫一致
指令:
//之前講解過了,這里直接寫指令:
git config -l
git config (--global) user.name(email) " "
接下來我們就直接提交到遠程倉庫中
操作如下:
git push <遠程主機名> <本地分?名>:<遠程分?名>
//如果本地分?名與遠程分?名相同,則可以省略冒號:,并且后面不寫,如下:
git push <遠程主機名> <本地分?名>
//<遠程主機名>:git remote查看,默認為origin
如圖:
這樣我們就完成了推送
注意:
我們使?的是SSH協議,是不?每?次推送都輸?密碼的,?便了我們的推送操作。如果你使?的是HTTPS協議,有個?煩地?就是每次推送都必須輸??令。
?
2.3.拉取遠程倉庫
?
就是將遠程倉庫中與我們本地倉庫不同的信息拉取到本題,我們這里為了模擬,直接在filetxt上修改,然后拉取,操作如下:
git pull <遠程主機名> <遠程分?名>:<本地分?名>
# 如果遠程分?是與當前分?合并,則冒號后?的部分可以省略,如下:
git pull <遠程主機名> <遠程分?名>
三.配置Git
忽略特殊?件:
在Git?作區的根?錄下創建?個特殊的 .gitignore ?件,然后把要忽略的?件名填進去,Git就會?動忽略這些?件了
這是我的.gitnore文件,大家也可以自己向里面寫入:
#:表示注釋
*:表示忽略
!:表示強制執行
還有一些特殊指令,如下:
git add -f [filename];
//也可以強制執行
git check-ignore +[filename];
//查看失敗原因
給命令配置別名:
(不建議大家初學就該)
git config --global alias.+內容(修改之后別名)指令;
//例如:
git config --global alias.st status
--global 參數是全局參數,也就是這些命令在這臺電腦的所有Git倉庫下都有?。如果不加,那只
針對當前的倉庫起作?
?
最后,感謝大家的支持!!!