在項目根目錄建立.gitignore文件,一行一個過濾規則git
*.class class/
git reset --hard HEAD^ #回退到上一個提交版本app
git reset --hard HEAD^^ #回退到上上一個提交版本fetch
git reset --hard HEAD~100 #回退到上100個版本code
git reset --hard commit_id #回退或者前進到指定版本,commit_id可使用git log或者git reflog查看it
工做區:就是你當前編輯的項目目錄ast
版本庫:在項目根目錄下的.git文件夾裏class
暫存區:版本庫裏面用來暫時保持修改文件的地方,git add 就是將修改加入暫存區,git commit 就是將暫存區裏的修改贊成提交到版本庫中的當前分支裏面test
git checkout -- file #file 就是放棄修改/誤刪的文件名稱
git rm test.txt git commit -m "" #這樣版本庫裏面的文件也就刪除了
提交以前先fetch一下,防止本身修改的文件和別人提交的有衝突stream
若是有衝突修改保存以後在add 、commit到本地倉庫,而後pushfile
保證遠程倉庫裏的必定是沒錯的
首先將本身正在作的修改(暫時不能提交的修改)先存儲起來,等bug修改好了以後在繼續
git stash
而後肯定在哪一個分支上建立bug分支,例如就是master分支
git checkout master git checkout -b bug
修改bug,並提交到bug分支,而後合併bug和master分支
git checkout master git merge bug
修改衝突而且將master分支提交到遠程,到這裏bug的問題就行了,能夠開始繼續咱們剛剛沒有完成的工做,
回到原來的分支,找回剛剛存儲的工做環境
git stash list #查看存儲的工做現場 git stash pop stash_key #恢復工做現場並刪除存儲,也可使用git stash apply和git stash drop命令,效果同樣
git branch --set-upstream dev origin/dev #前面的本地,後面的遠程