git与乌龟壳git
文章目錄
- Git是什么?
- 集中式vs分布式
- 創建git版本庫
- 往倉庫添加文件
- 暫存區與工作區
- 移出緩存區的文件
- 修改文件
- 版本回退
- 撤銷修改
- 刪除文件
詳情
Git是什么?
引用廖雪峰的話:
Git是目前世界上最先進的分布式版本控制系統(沒有之一)。
Git有什么特點?簡單來說就是:高端大氣上檔次!
集中式vs分布式
先說集中式版本控制系統,版本庫是集中存放在中央服務器的,而干活的時候,用的都是自己的電腦,所以要先從中央服務器取得最新的版本,然后開始干活,干完活了,再把自己的活推送給中央服務器。中央服務器就好比是一個圖書館,你要改一本書,必須先從圖書館借出來,然后回到家自己改,改完了,再放回圖書館。
那分布式版本控制系統與集中式版本控制系統有何不同呢?首先,分布式版本控制系統根本沒有“中央服務器”,每個人的電腦上都是一個完整的版本庫,這樣,你工作的時候,就不需要聯網了,因為版本庫就在你自己的電腦上。既然每個人電腦上都有一個完整的版本庫,那多個人如何協作呢?比方說你在自己電腦上改了文件A,你的同事也在他的電腦上改了文件A,這時,你們倆之間只需把各自的修改推送給對方,就可以互相看到對方的修改了
在實際使用分布式版本控制系統的時候,其實很少在兩人之間的電腦上推送版本庫的修改,因為可能你們倆不在一個局域網內,兩臺電腦互相訪問不了,也可能今天你的同事病了,他的電腦壓根沒有開機。因此,分布式版本控制系統通常也有一臺充當“中央服務器”的電腦,但這個服務器的作用僅僅是用來方便“交換”大家的修改,沒有它大家也一樣干活,只是交換修改不方便而已
集中式代表的有 CVS,SVN;
分布式有:Git, BitKeeper,Mercurial,Bazaar;
創建git版本庫
git init此時 倉庫已經創建完畢,我們會發現文件夾內多了一個.git 文件夾,如果你沒有看到.git目錄,那是因為這個目錄默認是隱藏的,用ls -ah命令就可以看見,
或者在文件夾內 勾選隱藏項目顯示;
往倉庫添加文件
我們先使用指令查看當前倉庫的狀態
git status此時會顯示你所有添加的文件與沒有添加文件,如果沒有顯示,需要將文件夾添加到定義倉庫的文件夾內,在使用一邊指令。
接下來我們需要將文件添加到倉庫中,需要使用下面的指令進行操作
git add <file> //文件或者文件夾名稱;你會發現此時并沒有任何提示信息,在git中沒有信息就是最好的信息;
我們在使用指令查看一下倉庫的狀態,你會發現此時文件已經添加到倉庫中
暫存區與工作區
什么是工作區?
顧名思義,就是我們真正邊編寫代碼的文件和文件夾,.git不能歸納其中,因為他是而是Git的版本庫。
什么是暫存區?
Git的版本庫里存了很多東西,其中最重要的就是稱為stage(或者叫index)的暫存區,還有Git為我們自動創建的第一個分支master,以及指向master的一個指針叫HEAD
此時倉庫所添加的文件并沒有真正意義上添加到版本管理工具中,而是添加到git倉庫中的暫存區,我們需要提價來添加到git倉庫管理工具中,此時我們就需要另一個指令。
git commit -m "提示信息"前面講了我們把文件往Git版本庫里添加的時候,是分兩步執行的:
第一步是用git add把文件添加進去,實際上就是把文件修改添加到暫存區;
第二步是用git commit提交更改,實際上就是把暫存區的所有內容提交到當前分支。
此時我們成功添加到倉庫中 如果添加失敗,可能你還沒有配置賬號和郵箱:
請使用下面這兩個指令,配置屬于你的賬號和郵箱
git config --global user.name xxx git config --global user.email xxx@163.com然后我們可以使用指令查看日志文件
git log
此時又涉及到HEAD和master
這個以后在學習,我們先學習基本操作,感興趣的可以訪問廖雪峰的網站里面有更為豐富的文章和視頻 詳情
移出緩存區的文件
在沒有進行提交commit 的文件 我們可以使用下面指令,將文件從緩存區中移出
git reset HEAD <flie>修改文件
如果我們第一次將文件添加到緩存區,并沒有直接提交到倉庫中,我們有再次修改文件,然后使用了commit 進行提交,此時我們提交的是放入緩存區里面的文件并非修改后的文件,如果想提交修改后的文件,需要重新執行add命令再次提交;
版本回退
我們將修改的文件提交之后,使用log指令會顯示提交的日志,加入我們提交之后是個錯誤的版本,但你發現及時,此時我們可以使用版本回退,將版本回退到其中上一個日志中,我們需要獲取日志版本號和下面指令
git reset --hard 版本號 //可以不用完全寫完整;版本號使用log指令查看,執行完畢后我們的代碼就回到了你指定的版本中,
如果你后悔了,只要命令行不管 我們使用版本回退也可以回退到之前的版本;
使用你之前的指令 將版本號寫成你回退之間的版本號,再次回到之前的版本中
如果你已經關閉命令 并不知道commit id 沒關系 git 可以有后悔藥 我們使用下面指令 獲取你曾經輸入的指令
git reflog里面有你曾經提交過的commit id 再次使用版本回退。
撤銷修改
如果你在寫代碼的時候 在沒有使用add的情況下 將代碼撤銷到你上次提交或者add中 我們可以使用下面的指令 將代碼回到修改前
git checkout -- <file>如果此時你add添加到暫存區,我們也可以使用上面的指令,git reset HEAD ,將文件從暫存區回退到工作區,再次使用指令,將代碼撤銷;
如果此時你頁已經經代碼提交,就需要使用版本回退,
刪除文件
我們可以使用下面指令刪除文件或者手動刪除;
git rm <file>然后提交就可以將文件刪除
這么多指令 是不是頭都大了,我們也可以使用烏龜殼進行狀態管理
下載
安裝完成之后 鼠標右鍵會有多出三個選項
我們就可以直接使用不用使用指令修改了
總結
以上是生活随笔為你收集整理的git与乌龟壳git的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 格兰因果模型可以分析哪些东西_论文实证经
- 下一篇: 【咸鱼教程】虚拟摇杆