成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

七個(gè)改變我生活的 Git 小技巧

系統(tǒng) Linux
Git 是當(dāng)前最流行最普遍的版本控制系統(tǒng)之一,它被應(yīng)用于私有系統(tǒng)和公開(kāi)網(wǎng)站上各種各樣的開(kāi)發(fā)工作。不論我變得對(duì) Git 有多熟悉,似乎總有些功能等待著被發(fā)掘。下面分享下和 Git 相關(guān)的改變我工作方式的一些小技巧。

這些有用的小技巧將改變你在當(dāng)前最流行的版本控制系統(tǒng)下的工作方式。

Git 是當(dāng)前最流行最普遍的版本控制系統(tǒng)之一,它被應(yīng)用于私有系統(tǒng)和公開(kāi)網(wǎng)站上各種各樣的開(kāi)發(fā)工作。不論我變得對(duì) Git 有多熟悉,似乎總有些功能等待著被發(fā)掘。下面分享下和 Git 相關(guān)的改變我工作方式的一些小技巧。

1、Git 中的自動(dòng)糾錯(cuò)

我們每個(gè)人都不時(shí)在輸入時(shí)犯拼寫(xiě)錯(cuò)誤,但是如果你使能了 Git 的自動(dòng)糾錯(cuò)功能,你就能讓 Git 自動(dòng)糾正一些輸入錯(cuò)誤的子命令。

假如你想用命令 git status 來(lái)檢查狀態(tài),但是你恰巧錯(cuò)誤地輸入了 git stats。通常情況下,Git 會(huì)告訴你 ‘stats’ 不是個(gè)有效的命令:

  1. $ git stats
  2. git: stats is not a git command. See git --help’.
  3.  
  4. The most similar command is
  5. status

為了避免類(lèi)似情形,只需要在你的 Git 配置中使能自動(dòng)糾錯(cuò)功能。

  1. $ git config --global help.autocorrect 1

如果你只想對(duì)當(dāng)前的倉(cāng)庫(kù)生效,就省略掉選項(xiàng) --global

這個(gè)命令會(huì)使能自動(dòng)糾錯(cuò)功能。在相應(yīng)的 Git 官方文檔 中可以看到這個(gè)命令的詳細(xì)說(shuō)明,但是試著敲一下上面的錯(cuò)誤命令會(huì)使你對(duì)這個(gè)設(shè)置干了什么有個(gè)直觀的了解:

  1. $ git stats
  2. git: stats is not a git command. See git --help’.
  3. On branch master
  4. Your branch is up to date with origin/master’.
  5.  
  6. nothing to commit, working tree clean

在上面的例子中,Git 直接運(yùn)行了它建議命令的第一個(gè),也就是 git status,而不是給你展示它所建議的子命令。

2、對(duì)提交進(jìn)行計(jì)數(shù)

需要對(duì)提交進(jìn)行計(jì)數(shù)的原因有很多。例如,一些開(kāi)發(fā)人員利用提交計(jì)數(shù)來(lái)判斷什么時(shí)候遞增工程構(gòu)建序號(hào),也有一些開(kāi)發(fā)人員用提交計(jì)數(shù)來(lái)對(duì)項(xiàng)目進(jìn)展取得一個(gè)整體上的感觀。

對(duì)提交進(jìn)行計(jì)數(shù)相當(dāng)簡(jiǎn)單而且直接,下面就是相應(yīng)的 Git 命令:

  1. $ git rev-list --count branch-name

在上述命令中,參數(shù) branch-name 必須是一個(gè)你當(dāng)前倉(cāng)庫(kù)里的有效分支名。

  1. $ git rev-list count master
  2. 32
  3. $ git rev-list count dev
  4. 34

3、倉(cāng)庫(kù)優(yōu)化

你的代碼倉(cāng)庫(kù)不僅對(duì)你來(lái)說(shuō)很寶貴,對(duì)你所在的組織也一樣。通過(guò)少數(shù)幾個(gè)慣例你就能使自己的倉(cāng)庫(kù)整潔并且保持最新。使用 .gitignore 文件 就是這些最好的慣例之一。通過(guò)使用這個(gè)文件你可以告訴 Git 不要保存一些不需要記錄的文件,如二進(jìn)制文件、臨時(shí)文件等等。

當(dāng)然,你還可以使用 Git 的垃圾回收來(lái)進(jìn)一步優(yōu)化你的倉(cāng)庫(kù)。

  1. $ git gc --prune=now --aggressive

這個(gè)命令在你和你的團(tuán)隊(duì)經(jīng)常使用 pull 或者 push 操作的時(shí)候很有幫助。

它是一個(gè)內(nèi)部工具,能清理掉你的倉(cāng)庫(kù)里沒(méi)法訪(fǎng)問(wèn)或者說(shuō)“空懸”的 Git 對(duì)象。

4、給未追蹤的文件來(lái)個(gè)備份

大多數(shù)時(shí)候,刪除所有未追蹤的文件是安全的。但很多時(shí)候也有這么一種場(chǎng)景,你想刪掉這些未追蹤的文件同時(shí)也想做個(gè)備份防止以后需要用到。

Git 組合一些 Bash 命令和管道操作,可以讓你可以很容易地給那些未追蹤的文件創(chuàng)建 zip 壓縮包。

  1. $ git ls-files --others --exclude-standard -z |\
  2. xargs -0 tar rvf ~/backup-untracked.zip

上面的命令就生成了一個(gè)名字為 backup-untracked.zip 的壓縮包文件(當(dāng)然,在 .gitignore 里面忽略了的文件不會(huì)包含在內(nèi))。

5、了解你的 .git 文件夾

每個(gè)倉(cāng)庫(kù)都有一個(gè) .git 文件夾,它是一個(gè)特殊的隱藏文件夾。

  1. $ ls -a
  2. . .git

Git 主要通過(guò)兩個(gè)東西來(lái)工作:

  1. 當(dāng)前工作樹(shù)(你當(dāng)前檢出的文件狀態(tài))
  2. 你的 Git 倉(cāng)庫(kù)的文件夾(準(zhǔn)確地說(shuō),包含版本信息的 .git 文件夾的位置)

這個(gè)文件夾存儲(chǔ)了所有參考信息和一些其他的如配置、倉(cāng)庫(kù)數(shù)據(jù)、HEAD 狀態(tài)、日志等更多諸如此類(lèi)的重要細(xì)節(jié)。

一旦你刪除了這個(gè)文件夾,盡管你的源碼沒(méi)被刪,但是類(lèi)似你的工程歷史記錄等遠(yuǎn)程信息就沒(méi)有了。刪除這個(gè)文件夾意味著你的工程(至少本地的復(fù)制)不再在版本控制的范疇之內(nèi)了。這也就意味著你沒(méi)法追蹤你的修改;你沒(méi)法從遠(yuǎn)程倉(cāng)拉取或推送到遠(yuǎn)程倉(cāng)了。

通常而言,你需要或者應(yīng)當(dāng)對(duì)你的 .git 文件夾的操作并不多。它是被 Git 管理的,而且大多數(shù)時(shí)候是一個(gè)禁區(qū)。然而,在這個(gè)文件夾內(nèi)還是有一些有趣的工件,比如說(shuō)當(dāng)前的 HEAD 狀態(tài)在內(nèi)的就在其中。

  1. $ cat .git/HEAD
  2. ref: refs/heads/master

它也隱含著對(duì)你倉(cāng)庫(kù)地描述:

  1. $ cat .git/description

這是一個(gè)未命名的倉(cāng)庫(kù);通過(guò)編輯文件 ‘description’ 可以給這個(gè)倉(cāng)庫(kù)命名。

Git 鉤子文件夾連同一些鉤子文件例子也在這里。參考這些例子你就能知道 Git 鉤子能干什么了。當(dāng)然,你也可以 參考這個(gè) Seth Kenlon 寫(xiě)的 Git 鉤子介紹

6、瀏覽另一個(gè)分支的文件

有時(shí),你會(huì)想要瀏覽另一個(gè)分支下某個(gè)文件的內(nèi)容。這其實(shí)用一個(gè)簡(jiǎn)單的 Git 命令就可以實(shí)現(xiàn),甚至都不用切換分支。

設(shè)想你有一個(gè)命名為 README.md 的文件,并且它在 main 分支上。當(dāng)前你正工作在一個(gè)名為 dev 的分支。

用下面的 Git 命令,在終端上就行。

  1. $ git show main:README.md

一旦你執(zhí)行這個(gè)命令,你就能在你的終端上看到 main 分支上該文件的內(nèi)容。

7、Git 中的搜索

用一個(gè)簡(jiǎn)單的命令你就能在 Git 中像專(zhuān)業(yè)人士一樣搜索了。更有甚者,盡管你不確定你的修改在哪次提交或者哪個(gè)分支上,你依然能搜索。

  1. $ git rev-list --all | xargs git grep -F ''

例如,假設(shè)你想在你的倉(cāng)庫(kù)中搜索字符串 “font-size: 52 px;" :

  1. $ git rev-list all | xargs git grep -F font-size: 52 px;’
  2. F30229e12:HtmlTemplate/style.css: font-size: 52 px;
  3. E92118244:RR.Web/Content/style/style.css: font-size: 52 px;

試試這些小技巧

我希望這些小技巧對(duì)你是有用的,或者增加你的生產(chǎn)力或者節(jié)省你的大量時(shí)間。 

責(zé)任編輯:龐桂玉 來(lái)源: Linux中國(guó)
相關(guān)推薦

2021-07-29 11:30:31

GitLinux命令

2020-12-07 09:56:34

GitLinux版本控制系統(tǒng)

2015-11-30 17:12:31

Git使用技巧

2023-09-07 16:28:46

JavaScrip

2021-11-22 12:13:54

Linuxwget 命令

2022-09-25 22:56:52

JavaScrip編程技巧

2022-09-30 09:26:35

JavaScript技巧

2023-05-30 09:59:38

2018-05-24 08:47:15

數(shù)據(jù)存儲(chǔ)技巧

2015-09-25 13:37:02

技巧開(kāi)始菜單

2013-04-25 10:03:12

網(wǎng)絡(luò)管理網(wǎng)絡(luò)互聯(lián)網(wǎng)管

2021-08-17 10:08:44

HTML網(wǎng)站網(wǎng)絡(luò)

2022-04-14 10:40:11

領(lǐng)導(dǎo)者IT團(tuán)隊(duì)遠(yuǎn)程團(tuán)隊(duì)

2024-06-25 15:41:41

2019-09-09 10:32:51

基于意圖的網(wǎng)絡(luò)IBN網(wǎng)絡(luò)

2023-12-15 08:51:48

2012-09-17 10:57:39

郵件安全

2022-08-26 08:00:00

數(shù)字時(shí)代IT首席信息官

2021-12-17 10:29:38

CIOITCFO

2021-06-10 08:00:00

首席信息安全官IT數(shù)據(jù)
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 久久久久久亚洲欧洲 | 欧美精品久久久久 | 一区二区在线免费观看 | 99在线免费观看 | 精品国产乱码久久久久久蜜柚 | 欧美日韩在线免费观看 | 国产精品国产成人国产三级 | 高清国产午夜精品久久久久久 | 精品国产一级 | 国产一区二区精华 | 日韩久久久久 | 91成人 | av在线播放免费 | 中文字幕在线二区 | 免费av观看 | 国产色网站 | 久久综合一区二区三区 | 成人亚洲网| www.色.com | 国产精选一区 | 国产精品五区 | 99精品免费久久久久久久久日本 | 亚洲免费人成在线视频观看 | 在线观看成人 | 国产成人精品综合 | 国产乱码精品1区2区3区 | 欧美日韩精品在线免费观看 | 欧美精品一区在线 | 精品国产一区二区三区久久影院 | 日韩一区二区精品 | 国产中文区二幕区2012 | 亚洲免费在线观看 | 在线视频一区二区 | 日p视频免费看 | 国产一级成人 | 国产精品久久久久久久久久久久久久 | 四虎永久免费地址 | 日韩成人性视频 | 91精品国产91久久久久久吃药 | 国产精品毛片久久久久久久 | 国产精品一区二区欧美黑人喷潮水 |