Git是一個免費的、開源的分布式版本控制系統,可以快速高效地處理從小型到大型的項目。
版本控制是一種記錄一個或若干文件內容變化,以便將來查閱特定版本修訂情況的系統。
有了它你就可以將某個文件回溯到之前的狀態,甚至將整個項目都回退到過去某個時間點的狀態。
就算你亂來一氣把整個項目中的文件改的改刪的刪,你也照樣可以輕松恢復到原先的樣子。
事分兩面,有好有壞。這麼做最顯而易見的缺點是中央服務器的單點故障。如果服務器宕機一小時,那麼在這一小時內,誰都無法提交更新,也就無法協同工作。如果數據丟失,不能回滾代碼。
分布式的版本控制系統在管理項目時存放的不是項目版本與版本之間的差異.它存的是索引(所需磁盤空間很少所以每個客戶端都可以放下整個項目的歷史記錄)
在工作區執行git init命令,就初始化了一個本地庫
本地庫文件,配置
我們已經有了本地庫,本地庫可以幫我們進行版本控制,為什麼還需要代碼托管中心呢?
它的任務是幫我們維護遠程庫,
局域網環境下: 可以搭建 GitLab服務器作為代碼托管中心,GitLab可以自己去搭建
外網環境下:可以由GitHub或者Gitee作為代碼托管中心,GitHub或者Gitee是現成的托管中心,不用自己去搭建
注意事項:.git目錄下的本地庫相關的子目錄和子文件不要刪除,不要胡亂修改。
(1)不放在本地倉庫中的文件,git是不進行管理
(2)即使放在本地倉庫的文件,git也不管理,必須通過add,commit命令操作才可以將內容提交到本地庫。
git status看的是工作區和暫存區的狀態
git log 可以讓我們查看提交的,顯示從最近到最遠的日志
注意:修改完成後,是對工作區的文件進行了修改,並沒有提到本地倉庫
reset命令:前進或者後退歷史版本
復制:在終端中選中就是復制了
粘貼:右鍵:paste
對test.py文件內容進行刪除操作,此時工作區和本地倉庫中的文件內容不一致
默認和最新提交的版本進行比較
也可以用git diff head 版本號
如果想和舊的版本進行比較
總結:git diff —>比較工作區中和暫存區中 所有文件的差異
在版本控制過程中,使用多條線同時推進多個任務。這裡面說的多條線,就是多個分支。
同時多個分支可以並行開發,互相不耽誤,互相不影響,提高開發效率
如果有一個分支功能開發失敗,直接刪除這個分支就可以了,不會對其他分支產生任何影響。
注意:創建的分支和主分支的代碼、日志完全一致
將dev分支合並到主分支master上,需要先切換到主分支上
也就是說也master為主,將對方的分支合並到master分支上
此時處於合並狀態,需要修復沖突,其他事情做不了
沖突內容
解決完成,按照項目需求來
注意:解決沖突的提交和普通提交不一樣,commit命令不能加test.py