1、安裝Git:命令行界面+圖形化界面sourceTree
-
下載Windows Git:https://git-scm.com/download/win
-
下載Mac Git:https://git-scm.com/download/mac
-
注:對於Git,沒有任何輸出就是最好的輸出!
2、配置用戶信息:
-
git config --global user.name "windstorm":配置用戶名,全局範圍內使用。
-
git config --global user.email "[email protected]":配置郵箱,全局範圍內使用。
-
git config --list:查看配置列表。
3、創建倉庫:
-
git init:初始化版本庫。
-
cd ~、mkdir codes、cd codes、git init、ls -al:初始化版本庫。
-
./ ../ .git/
-
echo "git repo" >> test.txt:輸入內容“git repo”管道追加到test.txt文件中。
-
cat test.txt:查看文件的全部內容。
-
git add test.txt:添加文件到本地倉庫的暫存區。
-
git commit -m "repo first commit":提交文件到本地倉庫。
-
git status:查看查看狀態。
-
-
git add:添加文件到版本庫的暫存區。
-
git commit:提交暫存區的文件到本地倉庫。
-
git push:推送本地倉庫中的文件到遠程倉庫。
-
git status:查看查看狀態。
4、工作流:
-
cd ~、cd codes、touch bashDemo.txt、echo "第一天的需求完成了。":模擬第一天的需求開發完成。
-
git status:查看版本庫的狀態。
-
git add bashDemo.txt:把完成的開發添加到暫存區。
-
git status:再次查看版本庫的狀態。
-
git commit -m "first commit":把剛纔添加到暫存區的開發提交到本地倉庫。
-
echo "需求發生變化了。" >> bashDemo.txt:啥?需求發生了變化,天哪,抓緊時間在原有的開發基礎上繼續開發新內容。
-
git status:再次查看版本庫的狀態。
-
git add bashDemo.txt:把剛纔的新內容添加到暫存區。
-
git status:僅僅只是添加到暫存區。
-
git reset head bashDemo.txt:把添加到暫存區的新內容從暫存區恢復到工作區。
-
git checkout -- bashDemo.txt:把剛剛恢復到工作區的新內容刪除掉,工作區變乾淨了,也就是說”需求發生變化了。“這句話沒有了。
-
git status:工作區很乾淨。(“第一天的需求完成了”)
-
echo "第二天的需求完成了。" >> bashDemo.txt:在第一天的基礎上又做了第二天的開發。(“第一天的需求完成了。第二天的需求完成了。”)
-
git add bashDemo.txt:添加第二天的開發到暫存區。
-
git commit -m "second commit":提交第二天的開發到本地倉庫。剛提交完,產品經理說第二天的開發不需要做,只需要第一天的開發即可。
-
git log:那這時我們需要把代碼回滾到第一天的開發那裏。使用該命令拿到第一天最後一次提交的6位哈希碼9095d。
-
git reset --hard commitID:使代碼回滾到第一天最後一次提交的那個版本。(“第一天的需求完成了”)
-
git status:工作區又幹淨了,而且代碼已經正確回滾了,哈哈。
-
git rm bashDemo.txt:這時,產品經理又說連第一天的工作也不需要做,因此使用這條命令把本地倉庫中的這個文件給清空了。
-
git status:查看版本庫狀態,會發現本地倉庫中的確沒有了這個文件,但是暫存區中還有這個文件的修改,
-
git commit -m "delete bashDemo.txt":此時還需要提交一下,才能使這個文件徹底的刪除了。(空)
-
git status:工作區又幹淨了。
5、遠程倉庫和克隆倉庫:
-
GitHub官網:https://github.com/
-
在GitHub上新建賬號的視頻:https://www.imooc.com/video/17968
-
ssh-keygen -t rsa -C "[email protected]":生成ssh keys,我們使用公鑰。
-
ssh -T [email protected]:查看本地是不是已經連接上遠程的GitHub了。目的是使本地連接上GitHub。
-
兩種方式創建本地倉庫,使其與遠程倉庫管理起來:(1)基於本地的倉庫把其推上去。(2)克隆。
-
-
git clone 站點URL:克隆倉庫的命令。
6、標籤管理:
-
git tag:查看當前分支的所有本地標籤。
-
git tag tagName:創建一個本地標籤,標籤名是tagName。tagName通常是這樣的形式:v1.0.0、v1.0.1等。
-
git push origin tagName:把剛纔創建的本地標籤tagName發佈到遠程倉庫中。重要:以後可以根據這個遠程標籤從遠程進行代碼回滾!
-
git tag -d tagName:刪除本地標籤或者遠程標籤tagName。
-
git tag -a tagName -m "tagName 的 comment":提交指定的本地標籤tagName,並給出提交信息。