在http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000上面學習git
學習方法是,邊看教程邊在虛拟機下實踐,然後寫學習筆記,最後腦袋瓜裡自己整合一遍,再在windows環境下再操作一遍,差別于之前的實驗,現在是真正的使用git
今天先學學基本的,明天看看學學後面的内容.
下面是自己的小總結:
工作區:目前目錄
版本庫:暫存區,HEAD->maste
//git管理,每次指令git add是把工作區裡的檔案送出到暫存區,git commit則是把暫存區裡的檔案全部上交到master裡
1.建立版本庫
建立目錄
轉到新目錄
pwd檢視目前目錄路徑,檢視是否正确
git init
//(不要中文,文本檔案,同意utf-8編碼無bom),此時使用指令 ls -al ./可以看到多生成了一個.git的目錄,那是git用來維護版本庫
設定使用者名和email
git config --global username "xxx"
git config --global useremainl "xxx"
2添加檔案并送出
git add 檔案名 //添加到暫存區
git commit -m "檔案修改提示" //從暫存區上交
3檢視狀态,曆史記錄
git status //仔細看喲,會提示有的檔案修改但沒git add(Changes not staged for commit:),或者git add了沒git commit(Changes to be committed:),或者rm了沒git rm,git rm了沒git commit
git log
git log --pretty=oneline//簡潔顯示曆史記錄
(煩人的~備份檔案,記得删除,不然狀态顯示會與預期不同)
4版本回退
git reset --hard 版本号 //HEAD:目前版本号,HEAD^上一個版本号,HEAD^^上上個版本号,HEAD~100上100個版本号
git reflog //可以檢視到所有的曆史記錄,在這邊
可以看到每次修改的版本号,記住用在上一個指令就可以在各個版本間來回
5檢視修改内容
git diff 檔案名 //檢視檔案的修改情況
git diff HEAD -- 檔案名 //檢視檔案名的工作區和版本庫最新情況的修改情況
6撤銷修改
如果僅僅是在工作區修改,還沒有add,那麼就用指令
git checkout -- 檔案名//"--"很重要
如果在工作區修改了檔案并且add把它增加到了暫存區,就先把檔案從暫存區回退到工作區,再從工作區撤銷修改
git reset HEAD 檔案名
git checkout -- 檔案名
如果檔案修改并且已經commit上交到版本庫并且還未遠端推送,那麼就用版本回退
git reset --hard 版本号
如果檔案修改并且已經遠端推送了,那就沒辦法了
7檔案删除
git rm 檔案名 //
git commit -m "提示" //上交,更新版本庫
//如果隻是不小心删除了檔案,即隻是git rm還沒有git commit,可以用git checkout恢複
git checkout -- 檔案名 //git checkout使用版本庫裡的檔案替換工作區裡的檔案