git是目前世界上最先進的開源分布式版本控制系統。對於所建立的版本庫中一切文字檔案,網頁,程式**等發生的任何改動都會自動記錄下來,例如當某次改動導致程式錯誤時可以回退至上乙個改動前的版本,也方便了多人協作開發時每個成員都可以得到其他成員對專案的改動資訊。而git作為分布式版本控制系統,每個人的計算機就是乙個伺服器,改動資訊在成員的計算機之間互相提交。擺脫了集中式伺服器故障導致的成員版本控制系統癱瘓,只要乙個成員的計算機可以正常工作,則可以將版本資訊複製給其他成員,提高了系統的魯棒性。
當我們已經通過git在自己本地的計算機上建立版本庫之後(具體建立方法詳見分布式版本控制系統git簡明教程(一)),我們需要遠端倉庫來進行和別人協同工作。下面我們通過github這個開源git託管遠端倉庫,來說明遠端倉庫的建立和與本地倉庫的關聯。
github賬號的建立只需要在**根據提示建立即可,由於較為簡單在此不贅述。建立好github後,在使用者主目錄下,看看有沒有.ssh目錄,如果有,再看看這個目錄下有沒有id_rsa和id_rsa.pub這兩個檔案,如果已經有了,可直接跳到下一步。如果沒有,開啟git bash,建立ssh key:
$ ssh-keygen -t rsa -c "[email protected]"
#[email protected]是你自己的註冊github時的郵箱號
之後一路回車即可,如果一切順利的話,可以在使用者主目錄裡找到.ssh目錄,裡面有id_rsa和id_rsa.pub兩個檔案,這兩個就是ssh key的秘鑰對,id_rsa是私鑰,不能洩露出去,id_rsa.pub是公鑰,可以放心地告訴任何人。
登陸github,開啟「account settings」,「ssh keys」頁面,然後,點「add ssh key」,填上任意title,在key文字框裡貼上id_rsa.pub檔案的內容,這樣你的本地計算機就和你的遠端git託管系統github關聯在一起了。
有兩種情形可以實現github遠端倉庫與本地倉庫關聯。
1.在本地建立本地倉庫並匯入檔案,通過推送至github建立遠端倉庫,實現本地遠端關聯。
2.在github建立遠端倉庫並匯入檔案,通過轉殖至本地建立本地倉庫,實現本地遠端關聯。
建立本地倉庫並匯入工作檔案至master分支,在本地倉庫路徑下,使用以下bash命令實現github端自動建立乙個名為origin的遠端倉庫:
$ git remote add origin [email protected]:yourname/learngit.git
#其中yourname為你自己的github賬號名稱
然後通過以下命令將本地倉庫的master分支推送至github遠端倉庫origin:
$ git push -u origin master #第一次推送加-u,之後本地檔案有修改再推送則不加-u
在github**右上角的「new repository」處建立遠端倉庫,並匯入工作檔案,github的遠端倉庫預設是對外開源的,所有人都可以看到你的遠端倉庫內的檔案,方便其他人加入你的專案共同開發,所以不要放入一些重要私密檔案,當然可以設定為收費的私密模式。
在本地的自定義的資料夾路徑下,使用以下bash命令實現將遠端倉庫轉殖至自定義資料夾並建立本地倉庫:
$ git clone [email protected]:yourname/yourrepository.git
#其中yourname是你的github賬戶名,yourrepository是你建立的遠端倉庫的名字
至此本地倉庫與遠端倉庫的關聯以及倉庫推送與轉殖操作介紹完成,此時git分布式的優勢已經大大體現。在團隊合作完成乙個專案時,可以從github遠端倉庫轉殖至自己的本地計算機倉庫進行修改,修改完成後可以推送至遠端庫,和成員共享自動記錄的詳細修改內容。
但如果開發過程只有一條流程線,當你的**未寫完時就推送至遠端倉庫,導致別人無法繼續工作,所以git提供了分支功能,每個人從專案主線中建立自己的分支,各分支互不干擾,每個人自己的分支專案完成之後再合併至專案主線,提高了專案並行開發的效率。
GIT分布式版本控制系統
git是乙個開源的分布式版本控制系統,用以有效 高速的處理從很小到非常大的專案版本管理。分布式相比於集中式的最大區別在於開發者可以提交到本地,每個開發者通過轉殖 git clone 在本地機器上拷貝乙個完整的git倉庫。專案使用git的一般情景 1 從伺服器上轉殖完整的git倉庫或者建立本地的git...
git分布式版本控制系統
1.git三個工作區 2.使用前配置3.git命令 本地 git init 建立版本庫 在當前資料夾下多出乙個.git檔案 git add 新增到暫存區 git commit m 版本說明 新增到歷史區 git log 檢視日誌 git reflog 檢視所有日誌 git diff 比較工作區和暫存...
GIT分布式版本控制系統
git是一款免費 開源的分布式版本控制系統,用於敏捷高效地處理任何或小或大的專案。1 git的讀音為 g t git是乙個開源的分布式版本控制系統,可以有效 高速的處理從很小到非常大的專案版本管理。2 git 是 linus torvalds 為了幫助管理 linux 核心開發而開發的乙個開放原始碼...