Git 是一個開源的分布式版本控制系統,用於敏捷高效地處理任何或小或大的項目。
Git 與 SVN 區別點:
-
1、Git 是分布式的,SVN 不是:這是 Git 和其它非分布式的版本控制系統,例如 SVN,CVS 等,最核心的區別。
-
2、Git 把內容按元數據方式存儲,而 SVN 是按文件:所有的資源控制系統都是把文件的元信息隱藏在一個類似 .svn、.cvs 等的文件夾里。
-
3、Git 分支和 SVN 的分支不同:分支在 SVN 中一點都不特別,其實它就是版本庫中的另外一個目錄。
-
4、Git 沒有一個全局的版本號,而 SVN 有:目前為止這是跟 SVN 相比 Git 缺少的最大的一個特征。
-
5、Git 的內容完整性要優於 SVN:Git 的內容存儲使用的是 SHA-1 哈希算法。這能確保代碼內容的完整性,確保在遇到磁盤故障和網絡問題時降低對版本庫的破壞。
Git 完整命令手冊地址:http://git-scm.com/docs
PDF 版命令手冊:github-git-cheat-sheet.pdf
一、前往官網下載安裝Git
二、配置Git
初次運行Git前需要進行配置,配置工作只需一次,以后會沿用現在的配置,如果需要修改用相同的命令修改已有配置即可。
Git是分布式版本控制系統,所以每個設備需要自報家門:名字和Email地址。
這兩條配置很重要,每次Git提交都會引用這兩條信息,隨更新內容永久納入歷史記錄。
打開終端或桌面Git Bash應用,輸入如下命令進行如下配置:
git config --global user.name '用戶名稱' git config --global user.email '登錄郵箱'
三、創建版本庫(用來保存我們項目中所有的文件)
1.在合適的位置創建一個空文件夾(這里我在桌面創建一個test文件夾,也就是工作區)
2.在命令行工具中進入該文件夾,執行 git init 命令
文件夾內生成一個隱藏文件.git,未設置顯示的話看不見該文件,這個.git就是我們的本地倉庫。
后續如果需要提交文件至本地倉庫,也需要文件在工作區內(也就是這里創建的test文件夾內)
四、添加文件至暫存區
如果想將工作區的文件提交至Git倉庫,需要執行 git add 文件夾名(例如git add index.tet),將文件提交至暫存區。
如果沒有任何提示說明則說明添加成功,該命令可多次執行,用於添加多個文件至暫存區。
執行git add all或者git add .可以將工作區所有文件提交至暫存區,git add *.html可以批量提交html文件
五、提交文件至倉庫
添加至暫存區完成后,執行 git commit -m "提交說明信息" 將暫存區所有文件提交至倉庫。
六、查看工作區文件狀態
git status 命令用來查看工作區文件狀態。
當所有文件已提交時:
“nothing to commit”指沒有文件提交。
當我們修改工作區index.txt文件,在里面寫個“hello world”時再執行git status命令:
“changes not staged for commit”指有修改未提交。
git commit –am “本次提交描述” 或 git commit –a –m“本次提交描述” 命令是指已經經歷過git add 的文件無需再次執行 git add 命令,而直接將文件提交至Git。
七、查看當前文件修改內容
git diff 文件名,查看文件修改內容
八、文件的刪除和恢復
1.工作區的文件刪除后的恢復
(可執行git status查看被刪除文件),執行 git checkout --文件名 從倉庫中恢復,如果工作區該刪除文件內容作出過改動,恢復的文件也只是文件之前提交時的狀態,如果暫存區有該文件則恢復的是暫存區該文件,否則從Git恢復該文件。
2.如果需要刪除倉庫某文件,可以在工作區刪除該文件后執行git add和commit命令重新提交
3.Git每一次提交修改都是一個新的版本,如果Git文件誤刪就需要版本回退,回退可能引起更多的問題存在,所以刪除文件需要謹慎操作。
回退參考:https://www.cnblogs.com/revel171226/p/11360844.html
git log 命令可以查看各個歷史版本記錄。
回退到上一個版本:git reset --hard HEAD~1,數字代表回退的版本數,版本太多時可以執行git reset --hard commit id(例如git reset --hard 474a919c22232707d50c8f11d89981be9c08ceb6)
commit id在執行git log命令時會顯示: