chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

7個(gè)實(shí)用的Git 小技巧

Linux愛好者 ? 來源:Linux中國(guó) ? 作者:Rajeev Bera ? 2021-07-29 10:22 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

$ git statsgit: ‘stats’ is not a git command. See ‘git --help’.The most similar command isstatus

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

$ git config --global help.autocorrect 1

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

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

$ git statsgit: ‘stats’ is not a git command. See ‘git --help’.On branch masterYour branch is up to date with ‘origin/master’.nothing to commit, working tree clean

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

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

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

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

$ git rev-list --count branch-name

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

$ git rev-list –count master32$ git rev-list –count dev34

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

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

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

$ git gc --prune=now --aggressive

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

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

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

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

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

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

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

5、了解你的 .git 文件夾

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

$ ls -a. … .git

Git 主要通過兩個(gè)東西來工作:

當(dāng)前工作樹(你當(dāng)前檢出的文件狀態(tài))

你的 Git 倉(cāng)庫的文件夾(準(zhǔn)確地說,包含版本信息的 .git 文件夾的位置)

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

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

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

$ cat .git/HEADref: refs/heads/master

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

$ cat .git/description

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

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

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

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

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

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

$ git show main:README.md

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

7、Git 中的搜索

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

$ git rev-list --all | xargs git grep -F ‘’

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

$ git rev-list –all | xargs git grep -F ‘font-size: 52 px;’F3022…9e12:HtmlTemplate/style.css: font-size: 52 px;E9211…8244:RR.Web/Content/style/style.css: font-size: 52 px;

試試這些小技巧

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

你也有一些喜歡的 Git 技巧嗎?在評(píng)論區(qū)分享吧。

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Git
    Git
    +關(guān)注

    關(guān)注

    0

    文章

    205

    瀏覽量

    16614

原文標(biāo)題:7 個(gè)改變我生活的 Git 小技巧

文章出處:【微信號(hào):LinuxHub,微信公眾號(hào):Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    stm32h743_lwip網(wǎng)口使用netutils的tftp文件傳輸功能時(shí),就報(bào)以下錯(cuò)誤,為什么?

    :git111rtt_ysh7_controllerrt-threadcomponentsnetsal_socketincludedfs_netsys_select/sys/select.h:14:0, from d
    發(fā)表于 09-15 08:16

    Git vs Perforce P4:版本控制系統(tǒng)選型指南(附適用場(chǎng)景、團(tuán)隊(duì)類型)

    Git適合小團(tuán)隊(duì)靈活開發(fā),而Perforce P4更擅長(zhǎng)管理大型項(xiàng)目與二進(jìn)制資產(chǎn)。但你真的了解它們各自最適合的使用場(chǎng)景嗎?或許不是“非此即彼”,而是“如何共存”,推薦一讀!
    的頭像 發(fā)表于 06-19 17:04 ?910次閱讀
    <b class='flag-5'>Git</b> vs Perforce P4:版本控制系統(tǒng)選型指南(附適用場(chǎng)景、團(tuán)隊(duì)類型)

    主流版本控制工具Git vs Perforce P4:架構(gòu)模式、性能、大文件管理及分支管理對(duì)比詳解

    Git vs Perforce P4,如何選型?架構(gòu)模式、性能、大文件管理、分支策略四大維度對(duì)比,幫你全面了解兩者的核心差異,選擇更合適你團(tuán)隊(duì)需求的版本控制系統(tǒng)。
    的頭像 發(fā)表于 06-13 14:52 ?433次閱讀
    主流版本控制工具<b class='flag-5'>Git</b> vs Perforce P4:架構(gòu)模式、性能、大文件管理及分支管理對(duì)比詳解

    RK3568驅(qū)動(dòng)指南|驅(qū)動(dòng)基礎(chǔ)進(jìn)階篇-進(jìn)階7 向系統(tǒng)中添加一個(gè)系統(tǒng)調(diào)用

    RK3568驅(qū)動(dòng)指南|驅(qū)動(dòng)基礎(chǔ)進(jìn)階篇-進(jìn)階7 向系統(tǒng)中添加一個(gè)系統(tǒng)調(diào)用
    的頭像 發(fā)表于 05-21 14:15 ?445次閱讀
    RK3568驅(qū)動(dòng)指南|驅(qū)動(dòng)基礎(chǔ)進(jìn)階篇-進(jìn)階<b class='flag-5'>7</b> 向系統(tǒng)中添加一<b class='flag-5'>個(gè)</b>系統(tǒng)調(diào)用

    源代碼加密、源代碼防泄漏c/c++與git服務(wù)器開發(fā)環(huán)境

    源代碼加密對(duì)于很多研發(fā)性單位來說是至關(guān)重要的,當(dāng)然每家企業(yè)的業(yè)務(wù)需求不同所用的開發(fā)環(huán)境及開發(fā)語言也不盡相同,今天主要來講一下c++及git開發(fā)環(huán)境的源代碼防泄密保護(hù)方案。企業(yè)源代碼泄密場(chǎng)景一、在很多
    的頭像 發(fā)表于 02-12 15:26 ?726次閱讀
    源代碼加密、源代碼防泄漏c/c++與<b class='flag-5'>git</b>服務(wù)器開發(fā)環(huán)境

    嵌入式學(xué)習(xí)-飛凌嵌入式ElfBoard ELF 1板卡-移植前準(zhǔn)備之git管理內(nèi)核源碼

    我們前邊已經(jīng)介紹過Git工具,是一個(gè)非常實(shí)用的代碼管理工具。如果驗(yàn)證編譯出的內(nèi)核能夠正常啟動(dòng),就可以將源碼用git工具管理起來??梢郧宄牧私庠创a改動(dòng)記錄。如果不小心把源碼改亂了還可以進(jìn)行版本
    發(fā)表于 01-23 10:51

    飛凌嵌入式ElfBoard ELF 1板卡-移植前準(zhǔn)備之git管理內(nèi)核源碼

    我們前邊已經(jīng)介紹過Git工具,是一個(gè)非常實(shí)用的代碼管理工具。如果驗(yàn)證編譯出的內(nèi)核能夠正常啟動(dòng),就可以將源碼用git工具管理起來??梢郧宄牧私庠创a改動(dòng)記錄。如果不小心把源碼改亂了還可以進(jìn)行版本
    發(fā)表于 01-22 10:39

    飛凌嵌入式ElfBoard ELF 1板卡-git管理源碼之git安裝和使用

    git是什么?git是一個(gè)開源的分布式版本控制系統(tǒng),可以有效、高速地處理從很小到非常大的項(xiàng)目版本管理,也是Linus Torvalds為了幫助管理Linux內(nèi)核開發(fā)而開發(fā)的一個(gè)開放源碼
    發(fā)表于 01-14 09:08

    芯片制造的7個(gè)前道工藝

    本文簡(jiǎn)單介紹了芯片制造的7個(gè)前道工藝。 ? 在探索現(xiàn)代科技的微觀奇跡中,芯片制造無疑扮演著核心角色,它不僅是信息技術(shù)飛速發(fā)展的基石,也是連接數(shù)字世界與現(xiàn)實(shí)生活的橋梁。本文將帶您深入芯片制造的前道工藝
    的頭像 發(fā)表于 01-08 11:48 ?2831次閱讀
    芯片制造的<b class='flag-5'>7</b><b class='flag-5'>個(gè)</b>前道工藝

    云服務(wù)器 Flexus X 實(shí)例:部署 Gitea,擁有自己的 Git 倉(cāng)庫,管理本地代碼

    本篇文章通過部署 Gitea,實(shí)現(xiàn)本地 Git 倉(cāng)庫,真實(shí)體驗(yàn)了“云服務(wù)器 Flexus X 實(shí)例”,深感其卓越性能與靈活性。這款實(shí)例以其六倍于常的強(qiáng)勁算力,搭配旗艦級(jí)的操作體驗(yàn),廣泛適用于高科技
    的頭像 發(fā)表于 01-07 16:59 ?616次閱讀
    云服務(wù)器 Flexus X 實(shí)例:部署 Gitea,擁有自己的 <b class='flag-5'>Git</b> 倉(cāng)庫,管理本地代碼

    Flexus X 實(shí)例 C#/.Net Core 結(jié)合(git 代碼管理、docker 自定義鏡像)快速發(fā)布部署 - 讓你的項(xiàng)目飛起來~

    前言 ???云端部署新體驗(yàn),C# Web API 遇上 Git Docker,828 B2B 企業(yè)節(jié)特惠來襲!Flexus X 實(shí)例,為您的 C#應(yīng)用提供強(qiáng)大支撐,結(jié)合 Git 版本控制
    的頭像 發(fā)表于 12-25 21:15 ?843次閱讀
    Flexus X 實(shí)例 C#/.Net Core 結(jié)合(<b class='flag-5'>git</b> 代碼管理、docker 自定義鏡像)快速發(fā)布部署 - 讓你的項(xiàng)目飛起來~

    超級(jí)干貨!本地搭建代碼托管平臺(tái)Gitea

    1關(guān)于GiteaGitea是一個(gè)輕量級(jí)的Git托管服務(wù),也就是基于Git的代碼托管平臺(tái),類似于GitHub、Gitee等。Gitea相對(duì)于其他代碼托管平臺(tái),是一個(gè)可以本地部署的開源項(xiàng)目
    的頭像 發(fā)表于 12-19 19:33 ?1105次閱讀
    超級(jí)干貨!本地搭建代碼托管平臺(tái)Gitea

    怎么集齊7個(gè)云平臺(tái)?本文教你!

    每家云平臺(tái)都有自己的協(xié)議,工程師要移植不同的SDK代碼或基于各家的手冊(cè)文檔對(duì)接不同的協(xié)議,看著都頭大,該如何集齊7個(gè)云平臺(tái)?本文教你!本文將以Air780E+LuatOS作為示例,教你使用IoT_CLOUD連接Tlink云平臺(tái)。
    的頭像 發(fā)表于 12-02 14:41 ?1242次閱讀
    怎么集齊<b class='flag-5'>7</b><b class='flag-5'>個(gè)</b>云平臺(tái)?本文教你!

    集齊7個(gè)云平臺(tái)?這個(gè)通用庫幫你做到了!

    本文要講的是通用庫整合7個(gè)云平臺(tái),本文將以Air780E+LuatOS作為示例,教你使用合宙IoT_CLOUD連接Tlink云平臺(tái)。
    的頭像 發(fā)表于 11-26 12:29 ?651次閱讀
    集齊<b class='flag-5'>7</b><b class='flag-5'>個(gè)</b>云平臺(tái)?這個(gè)通用庫幫你做到了!

    【米爾-Xilinx XC7A100T FPGA開發(fā)板試用】+02.PCIE接口測(cè)試(zmj)

    目前發(fā)布了 多 個(gè)版本——PCIe1.0、PCIe2.0、PCIe3.0、PCIe4.0等。 米爾-Xilinx XC7A100T FPGA開發(fā)板的PCIe可配置成 X1、 X2 模式,它 的單通道
    發(fā)表于 11-12 16:05