git學習之路
什么是git?
git是一些命令工具的集合它可以用來追蹤,記錄文件的變動。它是采取分布式管理,分布式就是不需要依賴服務器,并且本地操作無需聯網,這是它的優點,任何一臺機器都可以有一個本地的控制系統,可以理解成每臺機器都有一個倉庫,如果多人協作,還會有一個線上的倉庫,用來同步信息,就是github。
git文件狀態的邏輯
git總共分為三種狀態,已修改,已暫存,已提交。如圖
git配置的步驟及命令(Mac)
用戶信息
git config --global user.name "Tony"
git config --global user.email xxx@xx.com
檢查當前已配置的環境變量
git config --list
關于git使用幫助,相關的操作步驟可以按照下面命令的順序進行學習
git help
git init //初始化目錄
git clone ?git://github.com/schacon/grit.git //克隆庫到本地,這里的操作是當前在哪個目錄下就會克隆到哪個目錄
git status //檢查當前文件的狀態
git add test.txt ?//添加一個跟蹤文件到庫里面,add后面接文件路徑,文件名,. 則是當前文檔全部跟蹤
cat .gitignore *.[oa] *~ //忽略文件,設置一個.gitignore的文件,后面列出需要忽略文件以什么 .o ?.a結尾的,第二個位忽略 ~結尾的。還可以取反 !+文件名
git diff //查看尚未暫存的,并且更新了那些東西的文件
git commit //提交更新,提交到庫更新本地庫,之后會啟動文本編輯,我們可以編輯本次的更新說明,然后esc :wq就確認更新了
git commit -a //跳過git add步驟,直接提交
git rm test.txt //移除修改或者暫存的文件,rm test.txt
git rm -cached test.txt //移除跟蹤,但是不刪除文件
git rm \*~ //遞歸刪除當前目錄及其子目錄中所有 ~ 結尾的文件
git mv file filename //修改文件名字
git log //查看提交日志 后面加-p -2,p代表差異,2代表次數
關于日志輸出相關命令
git log --stat //快速查看修改了那些文件和行數
-p 按補丁格式顯示每個更新之間的差異。
--stat 顯示每次更新的文件修改統計信息。
--shortstat 只顯示 --stat 中最后的行數修改添加移除統計。
--name-only 僅在提交信息后顯示已修改的文件清單。
--name-status 顯示新增、修改、刪除的文件清單。
--abbrev-commit 僅顯示 SHA-1 的前幾個字符,而非所有的 40 個字符。
--relative-date 使用較短的相對時間顯示(比如,“2 weeks ago”)。
--graph 顯示 ASCII 圖形表示的分支合并歷史。
--pretty 使用其他格式顯示歷史提交信息。可用的選項包括 oneline,short,full,fuller 和 format(后跟指定格式)。
-(n) ? ?僅顯示最近的 n 條提交
--since, --after 僅顯示指定時間之后的提交。
--until, --before 僅顯示指定時間之前的提交。
--author 僅顯示指定作者相關的提交。
--committer 僅顯示指定提交者相關的提交。
git commit --amend //撤銷最后一次提交,重新提交更改信息
未完繼續。。