安裝 git
git官網(wǎng)瓤逼,這里提供了詳細(xì)文檔笼吟,《起步》中的1.5節(jié)是 git 的安裝方法,它提供了 windows霸旗、mac贷帮、linux 平臺(tái)的安裝方法。
安裝成功后诱告,打開終端輸入git --version
撵枢,如果能看到 git 版本,就說明安裝成功了蔬啡。mac 推薦使用 iTerm2 終端軟件诲侮,windows 推薦使用 git bash。
git 最小配置
在正式使用 git 之前需要做一些配置箱蟆,稱之為最小配置沟绪,也就是說要將參與項(xiàng)目開發(fā)人員的 name 和 email 進(jìn)行設(shè)置。
每次的變更空猜,在什么時(shí)間點(diǎn)绽慈,是誰做出了變更,那個(gè)這個(gè)信息是跟著某個(gè)變更信息捆綁在一起的辈毯。
單引號(hào)里面的是需要你自己填寫相應(yīng)的信息坝疼,這些信息最好是真實(shí)的,方便別人找到你谆沃。
git config --global user.name 'your_name'
git config --global user.email 'your_email'
這個(gè)地方設(shè)置了global
钝凶,那是不是還有別的呢?
除了global
以外唁影,還可以設(shè)置local
耕陷,system
。
git config --local //只對(duì)某個(gè)倉(cāng)庫(kù)有效
git config --global //對(duì)所有倉(cāng)庫(kù)有效
git config --system //對(duì)系統(tǒng)所有登錄的用戶有效
我們?cè)谑褂?git 時(shí)据沈,它會(huì)管理我們的文件系統(tǒng)哟沫,不是整個(gè)操作系統(tǒng)級(jí)別的管理,比如說你在某個(gè)地方建立了 git 倉(cāng)庫(kù)锌介,倉(cāng)庫(kù)就相當(dāng)于一個(gè)獨(dú)立的項(xiàng)目嗜诀。
如果你設(shè)置local
的話,你設(shè)置的信息孔祸,比如user_name
隆敢、user_eamil
只會(huì)對(duì)當(dāng)前倉(cāng)庫(kù)有效,如果你切換到另一個(gè)倉(cāng)庫(kù)時(shí)崔慧,local
的配置就會(huì)無效了筑公,
設(shè)置global
的話,如果我電腦上有十個(gè)倉(cāng)庫(kù)尊浪,那么設(shè)置的user_name
匣屡、user_email
就會(huì)對(duì)這十個(gè)倉(cāng)庫(kù)都有效
設(shè)置system
的話,是對(duì)系統(tǒng)所有登錄用戶都有效拇涤。
在工作中為了方便捣作,用global
最多,system
基本不用鹅士。
你在做設(shè)置之前券躁,想要看下現(xiàn)有配置是什么樣的,可以使用list
命令
git config --list --global //可以查看相關(guān)配置掉盅,是否設(shè)置成功
建 git 倉(cāng)庫(kù)
在實(shí)際的工作中也拜,建倉(cāng)庫(kù)有兩種場(chǎng)景:
- 把已有的項(xiàng)目代碼納入 git 管理
cd 項(xiàng)目代碼所在的文件夾
git init
- 新建的項(xiàng)目直接用 git 管理
cd 某文件夾
git init your_project //會(huì)在當(dāng)前路徑下創(chuàng)建和項(xiàng)目名稱同名的文件夾
cd your_project
我們現(xiàn)在桌面上創(chuàng)建一個(gè)git
目錄,后面關(guān)于 git 的學(xué)習(xí)都將會(huì)在這個(gè)文件夾下趾痘。
創(chuàng)建第一個(gè) git 倉(cāng)庫(kù)
git init git_learning
初始化一個(gè)新的 git 倉(cāng)庫(kù)慢哈,里面有一個(gè).git
的隱藏文件夾,它將是我們的核心永票,后面會(huì)慢慢講解卵贱。
前面講了給當(dāng)前項(xiàng)目設(shè)置config
,有三種方式侣集,之前已經(jīng)設(shè)置了global
键俱,這次設(shè)置一個(gè)local
,看下最終提交時(shí)它會(huì)用global
綁定的信息世分,還是local
綁定的信息编振。
之前global
的user.name
設(shè)置的是tiantian
,現(xiàn)在local
的user.name
設(shè)置的是uccs
臭埋。
當(dāng)我們用git commit
命令提交后踪央,可以用git log
來查看提交歷史,黃顏色的commit
是這次提交的id
號(hào)斋泄,Author
顯示的是uccs
杯瞻,這個(gè)作者是剛剛給local
設(shè)置的綁定信息,由此我們可以看出如果同時(shí)存在global
和local
的綁定信息炫掐,local
的優(yōu)先級(jí)要高魁莉。
往倉(cāng)庫(kù)里添加文件
要進(jìn)行4次提交,養(yǎng)成 git 的工作習(xí)慣
暫存區(qū)的作用:
- 在工作目錄做的變更首先將它添加的到暫存區(qū)募胃;
- 你在工作目錄做的變更旗唁,假設(shè)你有了其他方案,你不妨把這次的變更先放到暫存區(qū)痹束;
- 然后在嘗試用另一套方案检疫,假如第二次的方案還沒有第一次好的話,暫存區(qū)的方案可以覆蓋工作區(qū)的方案祷嘶;
- 暫存區(qū)的內(nèi)容屎媳,是暫時(shí)存放夺溢,還不是作為一個(gè)正式的提交,但是它已經(jīng)被 git 管理了烛谊,暫存區(qū)的內(nèi)容可以很容易的被正式提交风响,如果不合適還可以回退。
第一次提交
- 創(chuàng)建了一個(gè)
index.html
- 使用
git status
可以查看工作目錄和暫存區(qū)的狀態(tài)〉べ鳎現(xiàn)在的提示是沒有被 git 管理 - 使用
git add index.html
状勤,add
后面可以添加多個(gè)文件或者文件夾 - 再次使用
git status
,它會(huì)提示你已經(jīng)將文件添加到暫存區(qū)去了双泪。 -
git commit -m 'add index.html'
作為第一提交
image
第二次提交
- 我們給當(dāng)前頁(yè)面加點(diǎn)樣式持搜,創(chuàng)建了一個(gè)
style.css
的文件 - 使用
git status
發(fā)現(xiàn)剛剛創(chuàng)建的文件沒有被 git 管理 - 使用
git add style
,將剛創(chuàng)建的文件添加到暫存區(qū) - 確認(rèn)無誤后焙矛,使用
git commti -m 'add style.css'
作為第二次提交 [圖片上傳失敗...(image-ce92b1-1558452645149)]
第三次提交
- 過程同第二次提交步驟一樣
第四次提交
- 現(xiàn)在需要對(duì)第一提交的
index.html
進(jìn)行編輯 - 編輯后使用
git status
葫盼,發(fā)現(xiàn)之前綠色的文件又變成了紅色。 - 對(duì)修改的文件薄扁,可以使用
git add -u
將它添加到暫存區(qū) -
確認(rèn)無誤后剪返,做第四次提交。
image
git 高效重命名文件
工作中有時(shí)會(huì)存在文件重命名的邓梅,我們第一反應(yīng)是脱盲,在工作區(qū)或者工作目錄里面完成,然后將它加到暫存區(qū)里去日缨,再用commit
的方式去提交
mv readme readme.md
git status //會(huì)提示你要?jiǎng)h除 readme钱反,同時(shí)要添加 readme.md。
下圖:
git rm readme
git add readme.md
git status
下圖:最終的狀態(tài) git 知道你是在重命名文件
按照現(xiàn)在已知的方法是這幾個(gè)步驟
- 將文件重命名
- 將重命名后的文件添加到暫存區(qū)
- 將老文件移除
用 git 的命令該怎么做呢?
先回到初始的狀態(tài)匣距,可以用git reset --hard
面哥,它會(huì)將工作區(qū)和暫存區(qū)之前的操作全部清空,回到初始狀態(tài)毅待。此操作比較危險(xiǎn)尚卫,慎用。
git mv readme readme.md
下圖:一個(gè) git 命令代替上面三個(gè)步驟尸红,效果是一樣的
最后提交一下吱涉,用 git 提供的命令重命名,不需要再add
了外里。
總結(jié)
- 最小配置
git config --global user.name 'user_name'
git config --global user.email 'user_email'
- 初始化倉(cāng)庫(kù)
git init
- 提交
git add xxx
git commit -m ''
- 文件重命名
git mv readme readme.md
- 回滾
git reset --hard