Git命令匯總(補充篇)


上一篇《Git命令匯總基礎篇》總結了使用Git的基本命令,這一篇作為補充主要給大家講一些平時使用中的技巧和總結 。

學會了這些命令,已經基本解決了使用Git中大部分問題。

1.gitignore 全局配置忽略文件

git config --global core.excludesfile ~/.gitignore

如果只針對某個項目起作用,也可以把.gitignore放在跟.project同一目錄下。 

2.git log 格式化顯示

git log --pretty=oneline

git log --pretty="%h - %H - %an, %ar : %s"

git log --pretty="%h - %s"

git log -p 顯示每次提交的內容差異

git -log --stat 顯示簡要的增改行數統計

 

 

3.git stash暫存

git stash     

git stash save -a 'msg'

git stash pop

git stash list

git stash apply stash@{id}

git stash drop stash@{id}

4.git reset回滾

--git reset --soft head^  回退最近一次commit的文件

--git add 提交到暫存區 

--git reset HEAD <file> 把暫存區里的文件撤銷

--git reset --hard HEAD^ 把最近一次提交的文件回滾並覆蓋

--git reset --hard <commit_id>

--git push -f 

5.git 只合並分支上某個commit(即sourceTree的遴選)

1.git checkout -b'feature' 切換到新分支

2.git reflog  找到需要遴選的<commit_id1> <commit_id2>

3.git cherry-pick <commit_id1><commit_id2> 把1、2的提交合並到新分支

4.提交並推送

同樣可以用sourceTree的遴選功能實現

1.切換到需要遴選提交代碼的分支

2.選中某些提交,右鍵選擇遴選

3.推送分支

6.git patch補丁 可以刪除某一個commit

1.git log –oneline 找到需要刪除的<commit_id>,假如倒序是第7次提交

2.git format-patch -7 生成7個patch,這些patch是按提交時間生成的

3.git reset --hard <commit_id>   回退到第8次提交的<commit_id>

4.--git push -f 強制推送到遠程

5.git am *.patch  移除0007-.patch,把其他應用提交

6.推送分支

7.git revert 回退某個commit提交

git revert <commit_id>  

區別於git reset,git revert是作為一個單獨的commit提交

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM