參考地址:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
因為用mac做開發(fā),下載了XCode,不記錄Git的安裝.
0.設(shè)置個人信息
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
- 注意
git config命令的--global參數(shù),用了這個參數(shù),表示你這臺機器上所有的Git倉庫都會使用這個配置,當(dāng)然也可以對某個倉庫指定不同的用戶名和Email地址。
1.創(chuàng)建本地Git倉庫
- 首先創(chuàng)建文件夾gitDemo
- 啟用終端,在gitDemo路徑下執(zhí)行下
git init命令 - 執(zhí)行完上面的指令,發(fā)現(xiàn)文件夾中多出了一個 .git的文件,默認(rèn)這個文件為隱藏的,用
command+shift + .快捷鍵快速查看隱藏文件
2.將文件添加到git的管理下,并將文件添加至本地版本庫
- 新建一個 .txt文件,將其放入gitDemo文件夾中,執(zhí)行
git add + 文件名或git add .(將文件夾中所有的文件都加入到git的管理)命令,將文件添加到git的管理之下(將文件從工作區(qū)轉(zhuǎn)移到暫存區(qū)). - 執(zhí)行
git commit -m "這次提交所做的修改"將.txt文件提交至本地版本庫(將文件從暫存區(qū)提交至HEAD指針指向的分支)
3. 版本回退
- 前提條件:還沒有把自己的本地版本庫推送到遠(yuǎn)程
- 使用
git add.與git commit -m "修改內(nèi)容"命令,多次修改gitDemo文件,并提交至本地版本庫 - 使用
git log查看版本的歷史記錄詳細(xì)信息 - 使用
git log --pretty=oneline可以查看版本的歷史記錄的簡要信息
截圖1 -
72f3f1...這一大串是commit id(版本號)
下面開始回退版本,回退到上個版本也就是17fd00..
git reset --hard HEAD^回退到上個版本
git reset --hard HEAD^^回退到上上個版本
git reset --hard~100回到上100個版本
4.版本恢復(fù)
- 與版本回退相對,如果想再回到
72f3f1..也就是版本回退之前的版本,有兩種方式 git reset --hard +想回到的未來的commit id
- 首先使用
git reflog來查看你的每一次命令,找到對應(yīng)的commit id再使用git reset --hard +想回到的未來的commit id
截圖2
- 首先使用
5.撤銷對某個文件的操作
首先補充:git status查看工作區(qū)中相對于本地版本庫做出了什么修改,某個文件處于什么樣的狀態(tài)下.
場景一:現(xiàn)在我對git.txt文件做出了修改,但是還沒有從工作區(qū)提交至?xí)捍鎱^(qū),也就是還沒執(zhí)行git add .指令.使用git checkout -- 文件名,撤銷修改就回到和版本庫一模一樣的狀態(tài);
場景二:我對git.txt文件做了修改,并且執(zhí)行了git add.,然后繼續(xù)對git.txt做修改,使用git checkout -- 文件名,回到添加到暫存區(qū)后的狀態(tài),(也就是執(zhí)行git add.之后的狀態(tài))
總結(jié):git checkout -- 文件名,作用就是讓這個文件回到最近一次git add .或git commit -m "做了那些修改的記錄"時的狀態(tài).
場景三: 我對git.txt文件做了修改,并且將其添加至了暫存區(qū)(也就是執(zhí)行了git add .),但是發(fā)現(xiàn)了一個錯誤,要進(jìn)行修改.
執(zhí)行:git reset HEAD git.txt,讓其從暫存區(qū)的內(nèi)容返回至工作區(qū),修改之后重新 git add .和git commit ...

