自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

10種Git技巧,讓你省時(shí)省力又省心!

開(kāi)發(fā) 前端 開(kāi)發(fā)工具
大家是否曾銷(xiāo)毀文件只為能重新開(kāi)始? 或需要在另一分支的某文件中進(jìn)行更改?而git指令可以實(shí)現(xiàn)從另一分支切換文件。

1. 從另一分支切換單個(gè)文件

大家是否曾銷(xiāo)毀文件只為能重新開(kāi)始? 或需要在另一分支的某文件中進(jìn)行更改?而git指令可以實(shí)現(xiàn)從另一分支切換文件。

  1. git checkout some-other-branch -- yarn.lock 

同時(shí),也可以使用相同的技巧從特定提交項(xiàng)切換出某個(gè)文件。

  1. git checkout 9146367 -- yarn.lock 

若cherry-pick能夠篩選出不需要的文件,那么這就是十分有效的技巧了。

2. 查看日志時(shí)無(wú)需合并提交

合并提交常常令人頭疼。事實(shí)上,有些人寧可不用合并指令,因?yàn)楹喜⑻峤徽媸翘憛捔恕?/p>

就個(gè)人而言,筆者認(rèn)為合并指令是項(xiàng)目歷史記錄的重要組成部分,不應(yīng)該在工作流中唯恐避之不及。

也就是說(shuō),可以使用此標(biāo)記來(lái)過(guò)濾合并提交以查看項(xiàng)目的歷史記錄。

  1. git log --oneline --no-merges 

3. 改寫(xiě)上一個(gè)提交信息

若不小心提交了帶有拼寫(xiě)錯(cuò)誤或誤導(dǎo)性提交信息的內(nèi)容時(shí),這個(gè)方法就派上用場(chǎng)了。

  1. git commit -v --amend 

-v是可選項(xiàng),但由于其展示了許多更改相關(guān)的信息,筆者還是比較喜歡這個(gè)的,,有助于編寫(xiě)更具描述性的提交消息。

4. 移除所有未跟蹤更改

盡管不言而喻,但以防有人對(duì)該概念不熟悉:

如果創(chuàng)建一個(gè)新的文件,且該文件在git歷史中并不存在,那么就相當(dāng)于進(jìn)行了一個(gè)未跟蹤更改。需要提交回購(gòu)協(xié)議才能開(kāi)始追蹤該文件。

如果提交過(guò)程中改變了主意,隨后又想撤銷(xiāo)先前的更改,此時(shí),git checkout可用于移除先前所有的追蹤更改,但是未跟蹤更改卻仍然會(huì)四處浮動(dòng)。為解決這個(gè)問(wèn)題, git clean應(yīng)運(yùn)而生。

  1. git clean -f –d 

5. 輸出酷炫的可視化日志

雖然這點(diǎn)只會(huì)讓日志看起來(lái)很酷,但就可視化所有長(zhǎng)期分支而言,這點(diǎn)還是十分有用的。

  1. git log --pretty=oneline --graph --decorate --all 

試試吧。

6. 向git請(qǐng)求一個(gè)變更日志

如果想知道更改內(nèi)容和更改者的相關(guān)簡(jiǎn)要說(shuō)明,可以向git申請(qǐng)變更日志類(lèi)似的文件。

  1. git shortlog <commit>..HEAD 

本例中,應(yīng)將替換為希望在日志開(kāi)始時(shí)執(zhí)行的提交。大體上,用git shortlog eafbc3c.. HEAD的意思是,“讓我看看從提交eafbc3c到現(xiàn)在發(fā)生了什么變化。”

按提交作者將短日志分組并顯示每個(gè)提交消息的首行內(nèi)容。若提交消息編寫(xiě)完善,則可很清楚地了解每個(gè)提交的實(shí)際操作。

利用一些巧妙的技巧,如git shortlog HEAD~20..,以此來(lái)獲取最近20次提交的短日志。

7. 查看特定日期范圍的日志

類(lèi)似地,可能需要查看兩天內(nèi)回購(gòu)的變化情況。

幸運(yùn)的是,git可以實(shí)現(xiàn)這點(diǎn)。git log提交接受——以-since和-until作為標(biāo)記。

所以若想知道2016年2月10日至2016年2月19日期間Solidus發(fā)生了什么,即可運(yùn)行:

  1. git log --since='FEB 10 2016' --until='FEB 19 2016' 

現(xiàn)在,就可以看到墨菲在二月中旬非?;钴S。

8. 列出所有g(shù)it別名

有時(shí)可能需要為一些指令添加別名,隨后就忘記了,或者使用的共享配置就已經(jīng)定義了一些別名。

這是筆者無(wú)意中發(fā)現(xiàn)的一個(gè)技巧,盡管這不是git獨(dú)有的特性,但是git config指令確實(shí)發(fā)揮著它的功效,為我們所利用。

  1. git config -l | grep alias | sed 's/^alias\.//g' 

試試吧,看是不是有忘記的別名!

9. 搜索包含關(guān)鍵字的提交

如果確切地知道要查找的是哪段代碼,或者確切地知道需要在哪些關(guān)鍵字上查找更改,則可以按代碼搜索日志。

此時(shí)git會(huì)提供一個(gè)提交列表,而該列表以某種方式影響了包含搜索字符串的代碼或文本。

  1. git log -S"config.menu_items" 

在本例中,筆者找到一個(gè)提交列表,而該提交列表以某種方式操縱了字符串config.menu_items。

10. git教程超級(jí)機(jī)密列表

不是秘密,而是超級(jí)機(jī)密:

  1. git help -g 

Git是一個(gè)十分強(qiáng)大的工具,充滿許多巧妙的技巧。這個(gè)列表不夠全面,所以大家可多做一些研究并閱讀git相關(guān)文檔。

責(zé)任編輯:趙寧寧 來(lái)源: 讀芯術(shù)
相關(guān)推薦

2011-05-27 10:02:42

Shell

2012-03-23 08:34:40

2017-06-12 16:37:10

Web設(shè)計(jì)PS網(wǎng)站構(gòu)架

2011-11-30 15:29:30

臺(tái)式機(jī)用戶體驗(yàn)

2009-12-21 15:04:45

互聯(lián)網(wǎng)

2010-09-09 11:03:47

郵箱搬家郵件安全263企業(yè)郵箱

2024-12-03 08:49:01

Maven腳手架文件夾

2022-06-16 10:48:07

系統(tǒng)壓測(cè)數(shù)據(jù)

2016-03-03 11:02:40

美食半成品市場(chǎng)

2012-03-30 13:51:38

2019-03-28 14:30:21

代碼開(kāi)發(fā)命令

2011-05-03 16:45:55

噴墨一體機(jī)使用技巧

2009-04-21 14:06:38

網(wǎng)管運(yùn)維管理摩卡軟件

2021-01-04 13:40:59

Git開(kāi)源工具

2022-09-06 11:56:08

Python爬蟲(chóng)技巧

2020-02-27 15:53:01

開(kāi)發(fā)技能代碼

2020-11-29 17:32:01

EmacsLinux

2017-10-18 10:51:24

攢機(jī)CPU散熱器

2021-12-27 13:57:34

Vite 工具項(xiàng)目
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)