1.如何理解版本控制?
版本控制系統是一種用來追蹤和管理文件變更的工具,主要用于記錄代碼的歷史變動、協調多人協作開發、以及快速回滾錯誤等情況。版本控制系統主要分為以下兩類:
集中式版本控制(例如svn):所有的操作都依賴于中央服務器,存在單點故障的風險。 分布式版本控制(例如git):每個開發者都擁有完整的倉庫副本,獨立性更高。Git的核心特性包括:
分布式架構:每個本地倉庫都是完整的代碼庫,包含全部歷史記錄。支持離線操作(如提交、分支切換等)。 高效性能:基于快照存儲(而非傳統的差異存儲),操作速度更快。優化了大型項目和二進制文件的處理。 數據完整性:使用SHA-1哈希算法確保每次提交的唯一性,防止數據篡改。 靈活的分支模型:分支創建和合并成本低,鼓勵頻繁的分支操作(如功能分支、bug修復分支)。
2.Git的操作
安裝Git
yum install git
在gitee上創建項目
在項目頁面中復制項目的鏈接。
下載項目到本地
創建一個存放代碼的目錄。
git clone [url]
這里的url是剛剛創建的項目的鏈接。
將遠端倉庫拉取到本地文件。
遠端倉庫的位置在哪里呢?
我們會發現當前目錄下多了一個.git目錄,嚴格來說,這個.git目錄才是新建的倉庫,我們將其稱為隱藏的本地倉庫。注意:git提交時,只會提交變化的部分!
當我們將遠端倉庫拉取到本地后,就可以在當前目錄下添加代碼。我們首先在當前目錄下創建一個test.c文件。
我們剛創建的test.c文件現在還沒有被本地倉庫管理。當我們將test.c添加到本地倉庫后,才能通過push將本地倉庫推送到遠端。
我們通常將.git稱為目錄,將當前目錄稱為工作區。
將test.c添加到本地倉庫。
嚴格來說,此時的test.c并沒有真正添加到本地倉庫,而是放到了一個稱為暫存區的地方。這個暫存區允許我們多次添加文件,然后一次性提交到倉庫。
使用git status可以查看當前狀態。
new file表示這個文件是新添加的。
使用git commit真正將文件提交到本地倉庫。我們直接輸入git commit是不行的,需要加上-m選項,我們稱之為日志信息或提交日志信息。注意:-m后面的內容不能隨意填寫,必須清楚地說明本次提交做了什么。
使用git log可以查看日志,例如我們剛才的提交信息。
使用git push可以使本地倉庫與遠端倉庫同步。
如果我們不小心刪除了本地倉庫,想獲取歷史提交信息,不用擔心,我們只需復制鏈接,使用git clone + 鏈接,就可以將之前的記錄重新拉取下來。