一.git add . 或者 git add ###文件到暫存區以後,要恢復以前提交到暫存區以前的修改狀態,git
要使用git reset HEAD 以前的commitId ,再git checkout -- 文件路徑服務器
git checkout -- 文件路徑 只適用於尚未提交到暫存區的狀況下才能回退到修改前app
二.查看某一個commit 的具體修改內容spa
git show commitId日誌
三.查看修改歷史便於找到該回退或者前進到哪一個Commit的方式orm
git reflog能夠看到全部提交記錄開發
四.查看提交日誌的只顯示一行rem
git log --pretty=onelineit
五.回退和前進到某一個commit的方式ast
git reset --hard HEAD^ 表示回退一個提交,以此類推^^爲兩個,那麼回退100個不可能打100個^,那麼能夠用
git reset --hard HEAD~100(注意此處爲~不是^)
六.檢查衝突的時候
修改完衝突,git add . -A 一次,再git rebase --continue就能夠push到服務器分支了
七.查看某個文件的內容
cat 文件名
八.合併分支
git merge branchName合併branchName的分支到當前分支
若是修改了同一個文件可能有衝突,解決完衝突以後,git add .,git commit 完成合並
九.合併分支(建議方式)
在一個分支dev上修改並提交後,在另外一個分支master想合併這個分支dev,
git merge --no-ff -m "commit message" dev
即將dev分支的信息合併到master分支,這種方式是將合併做爲一個commit來提交,這樣方便之後回退到以前的版本。
區分了兩個分支的commit信息,使得兩個版本演進過程更加清晰
十.Bug修復的場景(場景存儲與恢復)
當正在分支dev中開發時,開發進行到一半,內容沒有完成,不能提交。這時又須要去修改一個Bug,這樣就須要把當前的內容保存,再新建一個分支解決這個Bug,再回到dev分支恢復以前的場景繼續開發任務。
具體git stash 存儲當前修改內容
去拉一個分支修改完Bug後,再回到dev分支
git stash apply 恢復,可是要git stash drop一次才能把stash list刪除。
若是要方便直接git stash pop就能夠了,兩步變一步。
十一.在一個分支dev上刪除另外一個修改了的分支feature
若是尚未merge,則直接用git branch -d feature會失敗,這個時候,要用
git branch -D feature才能強行刪除
十二.打標籤的方式
1.git tag <tagName> ,eg. git tag v1.0
2.git tag <tagName> <commitId> , eg. git tag v0.9 6224937
3.git tag -a <tagName> -m <"說明文字"> commitId
十三.爲命令配置別名
git config --global alias.你想配置的名字 "git 實際的名字"
eg. git config --global alias.co "commit -m"
這樣就能夠用git co "fix a bug"來提交一個修改
十四.Push本地分支到遠程分支
git push origin local_branch:remote_branch
這個操做,local_branch必須爲你本地存在的分支,remote_branch爲遠程分支,若是remote_branch不存在則會自動建立分支。
相似,git push origin :remote_branch,local_branch留空的話則是刪除遠程remote_branch分支。
十六.本地拉取服務器的不一樣分支
git checkout -b 本地新建分支名 想要拉取的服務器分支名
十七.查看服務器的全部分支名
git branch -r