0 安裝和打開
windows和linux下載安裝Git工具,參考上一篇文章。
linux 即在shell 下使用;windows 安裝完成後鼠標右鍵,在當前文件夾目錄下打開git bash.
之後的命令操作是完全一樣的。
1 創建GIT管理倉庫
在代碼所在路徑下:
git init
當前目錄下生成生成一個.git目錄,此目錄用於跟蹤管理版本庫,不可人爲修改。
2 把文件添加到倉庫
可以添加多個文件 git add readme.txt readme1.txt ...
git add readme.txt
3 向Git版本庫提交說明、備註
git commit -m "wrote a readme file"
首次使用可能出現的提示:
*** 請告訴我你是誰。
運行
git config --global user.email "[email protected]"
git config --global user.name "Your Name"
來設置您賬號的缺省身份標識。
如果僅在本倉庫設置身份標識,則省略 --global 參數。
************************************************************************
按照提示設置郵箱即可。
4 修改代碼後,進行提交保存
git add readme.txt
git commit -m "修改備註"
5 查詢更改日誌
git log
git log
命令顯示從最近到最遠的提交日誌
如果嫌輸出信息太多,看得眼花繚亂的,可以試試加上--pretty=oneline
參數:
6 回滾版本
git reset --hard HEAD^
在Git中,用HEAD
表示當前版本,上一個版本就是HEAD^
,上上一個版本就是HEAD^^
,當然往上100個版本寫100個^
比較容易數不過來,所以寫成HEAD~100
。
向前一個版本之後,用git log 命令查詢,上一個版本信息不存在了。
7 找回回滾掉的版本
git reset --hard 1094a
前提是之前的窗口沒有刪除,且知道回滾掉的版本號。
版本號沒必要寫全,前幾位就可以了,Git會自動去找。當然也不能只寫前一兩位,因爲Git可能會找到多個版本號,就無法確定是哪一個了。
對於第七條和第八條的補充
如果使用git reset --hard HEAD^^ 回滾多條,則不保留中間條的信息。
使用git reset --hard id 找回時,找回包含中間條。
8 查看歷史命令
要重返未來,用git reflog
查看命令歷史,以便確定要回到未來的哪個版本。
9 查詢版本庫文件狀態
git status
文件夾中只有一個文件
On branch master
nothing to commit, working tree clean
添加額外文件 eg: license, 使用命令git status查看
On branch master
Untracked files:
(use "git add <file>..." to include in what will be committed)
license.txt
nothing added to commit but untracked files present (use "git add" to track)LICENSE
還從來沒有被添加過,所以它的狀態是Untracked
。
無論是對原文件的修改,還是添加新文件,均要git add && git commit。 包含了暫存區內部處理過程。
每次修改,如果不用git add
到暫存區,那就不會加入到commit
中。
10 撤銷工作區的修改
git checkout -- readme.txt
命令git checkout -- readme.txt
意思就是,把readme.txt
文件在工作區的修改全部撤銷,這裏有兩種情況:
一種是readme.txt
自修改後還沒有被放到暫存區,現在,撤銷修改就回到和版本庫一模一樣的狀態;
一種是readme.txt
已經添加到暫存區後,又作了修改,現在,撤銷修改就回到添加到暫存區後的狀態。
總之,就是讓這個文件回到最近一次git commit
或git add
時的狀態。
另外撤銷情況,已經使用git add添加到暫存區
git reset
命令既可以回退版本,也可以把暫存區的修改回退到工作區。當我們用HEAD
時,表示最新的版本。
git reset HEAD readme.txt
git checkout -- readme.txt
11 刪除文件
1) rm test.txt
git rm test.txt
git commit -m "remove test.txt"
刪除文件且在版本庫中也刪除文件
2) rm test.txt
git checkout -- test.txt
前提是在git庫中添加了test.txt的情況下,rm 刪除之後可以恢復。
本文章是從原作者哪裏的摘錄,原文鏈接:https://www.liaoxuefeng.com/wiki/896043488029600