git與sourcetree的那些事
資料儲存結構
-
先來了解下版本管理中的兩個概念,如下圖所示:
倉庫,可以理解為你的專案工程,即檔案專案的單位。分為本地倉庫、遠端倉庫和線上倉庫,其中本地倉庫就是你本地電腦上的專案檔案,遠端倉庫一般為github、Centos等雲端託管平臺,也可以是一臺伺服器,線上倉庫就是實際伺服器執行的專案。一般來說,為了安全起見,遠端倉庫和線上倉庫應該是不同的伺服器。
分支,可以理解為你專案內部的moudle,即檔案的模組。如張三模組分支、李四模組分支。 -
版本控制的資料流
在我們的實際專案中、利用git分散式版本管理器來管理我們的專案,其資料流向如下圖所示:如圖,整體流向分為三大塊:1為線上倉庫、2為遠端倉庫、3為本地倉庫。其中從下到上的資料儲存流程為:工作區分為兩個分支:master和zhibinm,當本地的工作區對該這兩個分支進行改變時,需要一個儲存操作,即C和D,叫做commit操作,然後這兩個分支可以進行合併操作,B即為merge操作;當本地倉庫需要提交儲存的檔案時,這時候需要push到遠端倉庫,當然遠端倉庫也可以通過pull操作到本地倉庫,遠端倉庫各分支之間也可以進行merge合併操作;最後是遠端倉庫部署到線上倉庫進行使用。
檔案傳輸中的公鑰和私鑰
- git傳輸協議
分為https(加密超文字傳輸協議)和ssl(安全外殼協議),ssl涉及到公鑰和私鑰。首先我們瞭解兩種加密演算法。 -
對稱加密演算法
其特點是加密金鑰和解密金鑰一樣的。
- 非對稱加密演算法
其特點是,加密的金鑰和解密的金鑰不一樣。加密的稱為公鑰,解密的稱為私鑰。
- 公鑰和私鑰的生成
開啟cmd,輸入指令程式碼:ssh-keygen -t rsa -C “your email”或者ssh-keygen -t rsa,並按回車3下(為什麼按三下,是因為有提示你是否需要設定密碼,如果設定了每次使用Git都會用到密碼,一般都是直接不寫為空,直接回車就好了)。會在一個資料夾裡面生成一個私鑰 id_rsa和一個公鑰id_rsa.pub。這裡說明一下公鑰和私鑰是成對出現的。 - 從遠端倉庫中獲取工程專案(以GitHub為例)
這裡我們用git的一個客戶端SourceTree來獲取專案,其中SourceTree個版本的下載點選這裡,選擇好版本下載安裝就好啦!上傳專案見這篇博文。
-
根據https得到專案
步驟如下:
- 根據ssl得到專案
首先做相關設定,主要是配置公鑰(SourceTree本地的git私鑰要配好):然後直接複製ssl的url進行pull即可。
最後附上相關視訊講解
相關文章
- Git那些事兒Git
- Git 中的那些可怕的事Git
- iOS開發那些事-Git在Xcode中的配置與使用iOSGitXCode
- Sourcetree(git GUI)安裝GitGUI
- Git&SourceTree學習Git
- SourceTree for Mac(Git客戶端工具)MacGit客戶端
- 說說Mongodb 與 MySQL的那些事MongoDBMySql
- IO模型與吃飯的那些事模型
- 七牛與 Ueditor 的那些事兒
- MySQL 5.6與MariaDB的那些事MySql
- Sourcetree for mac(Git管理神器) 中文版MacGit
- 聊一聊Iterable與Iterator的那些事!
- 我與圖靈那些事兒圖靈
- 還在記git命令?快試試SourceTreeGit
- Windows搭建SourceTree、Git程式碼管理平臺WindowsGit
- git SourceTree 客戶端 安裝/使用教程Git客戶端
- Synchronized的那些事synchronized
- webassembly 的那些事Web
- ViewPager的那些事Viewpager
- C++的那些事:資料與型別C++型別
- C++的那些事:表示式與語句C++
- Sourcetree安裝與使用
- mac中使用Sourcetree配置自己搭建的git伺服器MacGit伺服器
- Vue 與 MVVM 之間那些事兒VueMVVM
- module.exports與export那些事兒Export
- PHP基礎之與MySQL那些事PHPMySql
- Java 混淆那些事(六):Android 混淆的那些瑣事JavaAndroid
- Git--視覺化管理工具-SourceTreeGit視覺化
- git使用第一天,新建分支(sourceTree)Git
- Bitbucket使用說明與SourceTree的使用
- 甲骨文與開源之間的那些事
- 《星球大戰》與Python之間的那些事Python
- iOS CollectionView 的那些事iOSView
- 微服務的那些事微服務
- webpack的那些事兒Web
- HTTP 2.0 的那些事HTTP
- HTTP 2.0的那些事HTTP
- Ubuntu的那些事兒Ubuntu