Git(多人協同開發同一個項目),做用就是源代碼管理,爲何須要源代碼管理呢,方便多人協同開發,而且方便版本控制。linux
Git管理源代碼特色:git
一、Git是分佈式管理。服務器和客戶端都有版本控制能力,經過代碼的提交與合併。(意思就是說每臺電腦均可以有版本控制能力,代碼管理能力)。windows
二、Git會在根目錄下建立一個.git隱藏文件夾,做爲本地代碼倉庫。服務器
Git操做流程:分佈式
Git服務器------>本地倉庫(.Git)-------->客戶端------->本地倉庫------>Git服務器spa
從圖中能夠看出,從遠程倉庫clone數據到本地倉庫(.git),而後在客戶端上編輯等,commit到本地倉庫,而後在把本地倉庫push給遠程倉庫(即服務器倉庫),遠程倉庫pull到本地倉庫,在到客戶端。版本控制
工做區:code
對於添加,修改,刪除文件的操做,都發生在工做區中。blog
暫存區:開發
暫存區指將工做區中的操做完成小階段的存儲,是版本庫的一部分。
倉庫區:
倉庫區表示我的開發的一個小階段的完成
一、倉庫區中記錄的各版本是能夠查看並回退的
二、可是在暫存區的版本一旦提交就再也沒有了
本地倉庫是個隱藏文件(.git)。
一、安裝git(linux系統)(windows百度)
sudo apt-get install git
二、檢查安裝結果
git
三、建立項目(linux直接在桌面建立文件夾)
在F盤目錄下建立一個文件夾gitTest,表示工做項目:
四、建立本地倉庫
進入到剛纔建立的gitTest,並建立本地倉庫.git,新建的本地倉庫是個空倉庫。
一、
二、建立倉庫
git init
出現上面英文表示安裝成功空倉庫。
五、配置我的信息
git config user.name 'lishuntao' git config user.email '1259553287@qq.com'
打開查看隱藏文件,由於咱們建立的項目是隱藏的。
六、新建py文件
在項目文件gitText裏面建立login.py文件,用於演示。
七、查看文件狀態
git status
紅色表示新鍵文件或者新修改的文件,都在工做區。綠色表示文件在暫存區。新建的login.py文件在工做區,須要添加到暫存區並提交到倉庫區。
八、將工做區文件添加到暫存區
git add login.py#添加指定文件 git add . #添加全部文件
九、將暫存區文件提交到倉庫區
git commit -m "版本描述"
commit會生成一條版本記錄 -m後面是版本描述信息
十、接下來能夠在login.py文件中編輯代碼
代碼編輯完成後便可進行add和commit操做,還有添加和提交的合併命令:
git commit -am "版本描述"
十一、查看歷史版本
git log git reflog#都是同樣的
十二、回退版本
一、
HEAD表示當前最新版本 HEAD^表示當前最新版本的前一個版本 HEAD^^表示當前最新版本的前兩個版本,以此類推... HEAD~1表示當前最新版本的前一個版本 HEAD~10表示當前最新版本的前10個版本,以此類推...
git reset --hard HEAD^
二、當版本很是多的時候選擇的方案(經過每一個版本的版本號回退到指定版本)
git reset --hard 版本號
文件爲空!!!!說明跳轉到第一次的版本了。
1三、撤銷修改
只能撤銷工做區、暫存區的代碼,不能撤銷倉庫區的代碼。撤銷倉庫區的代碼就至關於回退版本操做。
撤銷工做區代碼
git checkout 文件名
撤銷暫存區代碼
# 第一步:將暫存區代碼撤銷到工做區 git reset HEAD 文件名 # 第二步:撤銷工做區代碼 git checkout 文件名
1四、對比版本庫
新加代碼 sum4 = 40,不add到暫存區:
對比版本庫與工做區:
git diff HEAD -- login.py
對比版本庫
git diff HEAD HEAD^ -- login.py
1五、刪除文件:刪除文件分爲肯定刪除和誤刪
在項目中新建test.py文件,並添加暫存區和提交到倉庫。
肯定刪除處理:
# 刪除文件 rm 文件名 # git肯定刪除文件,對比添加文件git add git rm 文件名 # 刪除後記錄刪除操做版本 git commit -m '刪除描述'
誤刪處理:撤銷修改便可:
# 刪除文件(誤刪) rm 文件名 # git撤銷修改 git checkout -- 文件名