- 創(chuàng)建一個(gè)空目錄
$ mkdir learngit //創(chuàng)建一個(gè)文件夾
$ cd learngit
$ pwd
/Users/xxx/learngit
- 初始化倉(cāng)庫(kù)(把這個(gè)目錄變成Git可以管理的倉(cāng)庫(kù))
git init - 編輯一個(gè)readme.txt 文件
vi readme.txt - 查看文件內(nèi)容
cat readme.txt - 查看工作區(qū)當(dāng)前的狀態(tài)
git status - 如果git status告訴你有文件被修改過(guò),用git diff可以查看修改內(nèi)容
git diff - 將本地項(xiàng)目工作區(qū)的所有文件添加到暫存區(qū)
git add .
git add readme.txt - 將暫存區(qū)的文件提交到本地倉(cāng)庫(kù)(commit可以一次提交很多文件)
git commit -m "first commit"
時(shí)光機(jī)
- HEAD指向的版本就是當(dāng)前版本,因此,Git允許我們?cè)诎姹镜臍v史之間穿梭,使用命令
git reset --hard commit_id - 顯示從最近到最遠(yuǎn)的提交日志
git log - 要重返未來(lái),用
git reflog查看命令歷史,以便確定要回到未來(lái)的哪個(gè)版本。
暫存區(qū)
工作區(qū)有一個(gè)隱藏目錄.git,這個(gè)不算工作區(qū),而是Git的版本庫(kù)。
Git的版本庫(kù)里存了很多東西,其中最重要的就是稱為stage(或者叫index)的暫存區(qū),還有Git為我們自動(dòng)創(chuàng)建的第一個(gè)分支master,以及指向master的一個(gè)指針叫HEAD。

image.png
- 把readme.txt文件在工作區(qū)的修改全部撤銷
git checkout -- readme.txt
關(guān)聯(lián)到遠(yuǎn)程倉(cāng)庫(kù)
- 將本地倉(cāng)庫(kù)關(guān)聯(lián)到遠(yuǎn)程倉(cāng)庫(kù)上
git remote add origin https://github.com/example/test.git - 拉取遠(yuǎn)程倉(cāng)庫(kù)代碼到本地,如果有沖突, 解決沖突
git pull --rebase origin master - 將本地的master分支推送到遠(yuǎn)程倉(cāng)庫(kù)上
git push -u origin master
注意:-u 選項(xiàng)會(huì)指定一個(gè)默認(rèn)倉(cāng)庫(kù),這里就是origin,后面就可以不加任何參數(shù)使用git push