回滾 n 個 commit (增長了revert commit)
git revert -n commit_idgit
回滾到指定的commit_id(不增長commit,回滾的commit_id被刪除)
git reset --hard commit_idbash
回到commit_id處,在這裏能夠修改在這個commit_id後的commit
git rebase commit_idfetch
修改已經commit可是未push的提交
git commit --amendcode
修改已經push的提交
1.git rebase -i 該提交的前一個commit的編號commitid
2.在git bash中運行上面的命令後,會彈出編輯框,在編輯框中會分行依次顯示以pick開頭的commitid以後的全部commit message。
3.將須要修改的commit message以前的"pick"改成"reword",點擊保存按鈕,並關閉編輯框,這時會執行rebase操做。it
Rebasing (1/3)
4.接着會再次彈出編輯框,此次編輯框中只有以前改成"reword"的那個commit message,此時修改commit message的內容,點擊保存按鈕並關閉編輯框,會繼續執行rebase操做。
5.git push --forceast
放棄全部的本地修改(不包括增長的文件)
git checkout .file
查看commit_id修改文件的統計信息(增刪行數)
git log --stat commot_id統計
查看commit_id修改文件的細節
git log -p commit_idword
查看fileName相關的commit記錄
git log filenamedi
顯示filename的每次提交的diff
git log -p filename
查看本地分支
git branch
查看全部分支
git branch -a
若是讓HEAD文件指向一個commit id,那就變成了detached HEAD。git checkout 能夠達到這個效果,用下面的命令:
git checkout commit_id
從detached HEAD狀態中返回:
git checkout master ##到這裏可能會落後master多個commit,git pull之
git pull ##更新後,再fetch吧
git fetch origin master ##source的master已經最新,此時能夠正常操做了
//查看本地分支
git branch
//刪除目標分支
git branch -D master
//從新拉取master分支 git checkout master