git常見場景處理

過濾一些不須要的上傳的文件或者文件夾

在項目根目錄建立.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以後的處理

首先將本身正在作的修改(暫時不能提交的修改)先存儲起來,等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  #前面的本地,後面的遠程
相關文章
相關標籤/搜索