您好,登錄后才能下訂單哦!
這篇文章主要介紹了怎么提高Git的開發效率,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
1. 從某個分支檢出單個文件
你是否有過破壞了某個文件,想要重新開始?
或者需要的文件在另一個分支中?
下面的命令讓你直接從某個分支取到那個文件。
git checkout some-other-branch -- yarn.lock
你也可以從某個 commit 中取到 yarn.lock 文件
git checkout 9146467 -- yarn.lock
相比 cherry-pick
拿到某個 commit 的所有文件,這個技巧可以只拿到想要的那一個文件。
2. 查看日志時過濾掉 merge commits
使用 merge 合并時會產生一個新的提交,有時候這個提交很煩人。如果你想要查看日志時過濾掉這些合并的提交,可以使用以下命令:
git log --oneline --no-merges
3. 重寫最后一次的 commit message
如果你最近的一次提交中,commit 信息寫的不好或者有錯別字,可以用以下命令修改:
git commit -v --amend
這里的 -v
是可選的,它可以提過一些額外信息來幫助你描述 commit message
4. 清除所有未跟蹤的變更
首先來解釋一個概念:
如果你創建了一個新文件,這個文件之前不存在于 git 歷史中,那么這個文件就是一個未跟蹤的變更。為了跟蹤這個文件,你需要將它提交到 git 中。
如果使用 git checkout . 則會清除所有已經跟蹤的變更。而使用以下命令可以清除所有未跟蹤的變更:
git clean -f -d
5. 打印一個可視化的 log
使用以下命令可以打印出可視化的 log
git log --pretty=oneline --graph --decorate --all
(譯者注:湊合看,跟 sourcetree 的還是不能比~)
6. 向 Git 查詢 changelog
此命令可以向 Git 查詢在兩個 commit 之間,都有誰做了哪些變更,看起來就像一個 changelog 一樣
git shortlog <commit>..HEAD
上面的 <commit>
填寫 commit 的 hash 值,就可以查出該 commit 和 HEAD 之間的變化,其中 ..
后面的 HEAD
也可以省略
你也可以用 git shortlog HEAD~20..
取最近 20 個 commit 的記錄
7. 查詢指定日期的 log
你可能需要查詢某兩天之間的 git log,這時可以用 git log 命令配合 --since 與 --util 標識符
假如你想要查詢 2016年2月10日 至 2016年2月19日 之間的日志,你可以運行:
git log --since='FEB 10 2016' --until='FEB 19 2016'
8. 列出所有 git aliases
有時候你可能忘記了之前設置的 git 別名,下面的命令雖不是 git 的功能,但是卻能幫你找到所有的 git 別名
git config -l | grep alias | sed 's/^alias\.//g'
9. 查詢包含某個關鍵字的 commits
如果你知道要找的代碼具體寫的是什么,或者知道某個特別的關鍵字,你就可以用它來搜索。
git log -S"config.menu_items"
本例中會查找所有包含 config.menu_items
的提交
10. 終極技能
git help -g
可以看到類似下面的 git 教程列表,通過 git help <concept>
即可在瀏覽器打開指定的教程網頁,左邊那一列即為 <concept>
名稱
The common Git guides are: attributes 定義 Git 路徑的屬性 everyday 每天學點有用的 Git 命令 glossary 一個 Git 詞匯表 ignore 指定 Git 忽略文件 modules 定義 Git 子模塊 revisions 指定 Git 的修訂版和范圍 tutorial Git 的教程介紹 (for version 1.5.1 or newer) workflows 一個推薦的 Git 工作流概述
感謝你能夠認真閱讀完這篇文章,希望小編分享的“怎么提高Git的開發效率”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。