git學習之路
什么是git?
git是一些命令工具的集合它可以用來追蹤闸度,記錄文件的變動鸭蛙。它是采取分布式管理,分布式就是不需要依賴服務器筋岛,并且本地操作無需聯(lián)網(wǎng)娶视,這是它的優(yōu)點,任何一臺機器都可以有一個本地的控制系統(tǒng)睁宰,可以理解成每臺機器都有一個倉庫肪获,如果多人協(xié)作,還會有一個線上的倉庫柒傻,用來同步信息孝赫,就是github。
git文件狀態(tài)的邏輯
git總共分為三種狀態(tài)红符,已修改青柄,已暫存,已提交预侯。如圖
git配置的步驟及命令(Mac)
用戶信息
git config --global user.name "Tony"
git config --global user.email xxx@xx.com
檢查當前已配置的環(huán)境變量
git config --list
關(guān)于git使用幫助致开,相關(guān)的操作步驟可以按照下面命令的順序進行學習
git help
git init //初始化目錄
git clone ?git://github.com/schacon/grit.git //克隆庫到本地,這里的操作是當前在哪個目錄下就會克隆到哪個目錄
git status //檢查當前文件的狀態(tài)
git add test.txt ?//添加一個跟蹤文件到庫里面萎馅,add后面接文件路徑双戳,文件名敞掘,. 則是當前文檔全部跟蹤
cat .gitignore *.[oa] *~ //忽略文件情臭,設置一個.gitignore的文件,后面列出需要忽略文件以什么 .o ?.a結(jié)尾的廷臼,第二個位忽略 ~結(jié)尾的峭竣。還可以取反 L粮ā+文件名
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 \*~ //遞歸刪除當前目錄及其子目錄中所有 ~ 結(jié)尾的文件
git mv file filename //修改文件名字
git log //查看提交日志 后面加-p -2,p代表差異草巡,2代表次數(shù)
關(guān)于日志輸出相關(guān)命令
git log --stat //快速查看修改了那些文件和行數(shù)
-p 按補丁格式顯示每個更新之間的差異守呜。
--stat 顯示每次更新的文件修改統(tǒng)計信息型酥。
--shortstat 只顯示 --stat 中最后的行數(shù)修改添加移除統(tǒng)計。
--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 僅顯示指定作者相關(guān)的提交。
--committer 僅顯示指定提交者相關(guān)的提交中贝。
git commit --amend //撤銷最后一次提交啃奴,重新提交更改信息
未完繼續(xù)。雄妥。