色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

7個實用的Git 小技巧

Linux愛好者 ? 來源:Linux中國 ? 作者:Rajeev Bera ? 2021-07-29 10:22 ? 次閱讀

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

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

1、Git 中的自動糾錯

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

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

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

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

$ git config --global help.autocorrect 1

如果你只想對當前的倉庫生效,就省略掉選項 --global。

這個命令會使能自動糾錯功能。在相應的 Git 官方文檔[1] 中可以看到這個命令的詳細說明,但是試著敲一下上面的錯誤命令會使你對這個設置干了什么有個直觀的了解:

$ 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 直接運行了它建議命令的第一個,也就是 git status,而不是給你展示它所建議的子命令。

2、對提交進行計數

需要對提交進行計數的原因有很多。例如,一些開發人員利用提交計數來判斷什么時候遞增工程構建序號,也有一些開發人員用提交計數來對項目進展取得一個整體上的感觀。

對提交進行計數相當簡單而且直接,下面就是相應的 Git 命令:

$ git rev-list --count branch-name

在上述命令中,參數 branch-name 必須是一個你當前倉庫里的有效分支名。

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

3、倉庫優化

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

當然,你還可以使用 Git 的垃圾回收來進一步優化你的倉庫。

$ git gc --prune=now --aggressive

這個命令在你和你的團隊經常使用 pull 或者 push 操作的時候很有幫助。

它是一個內部工具,能清理掉你的倉庫里沒法訪問或者說“空懸”的 Git 對象。

4、給未追蹤的文件來個備份

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

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

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

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

5、了解你的 .git 文件夾

每個倉庫都有一個 .git 文件夾,它是一個特殊的隱藏文件夾。

$ ls -a. … .git

Git 主要通過兩個東西來工作:

當前工作樹(你當前檢出的文件狀態)

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

這個文件夾存儲了所有參考信息和一些其他的如配置、倉庫數據、HEAD 狀態、日志等更多諸如此類的重要細節。

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

通常而言,你需要或者應當對你的 .git 文件夾的操作并不多。它是被 Git 管理的,而且大多數時候是一個禁區。然而,在這個文件夾內還是有一些有趣的工件,比如說當前的 HEAD 狀態在內的就在其中。

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

它也隱含著對你倉庫地描述:

$ cat .git/description

這是一個未命名的倉庫;通過編輯文件 ‘description’ 可以給這個倉庫命名。

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

6、瀏覽另一個分支的文件

有時,你會想要瀏覽另一個分支下某個文件的內容。這其實用一個簡單的 Git 命令就可以實現,甚至都不用切換分支。

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

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

$ git show main:README.md

一旦你執行這個命令,你就能在你的終端上看到 main 分支上該文件的內容。

7、Git 中的搜索

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

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

例如,假設你想在你的倉庫中搜索字符串 “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;

試試這些小技巧

我希望這些小技巧對你是有用的,或者增加你的生產力或者節省你的大量時間。

你也有一些喜歡的 Git 技巧嗎?在評論區分享吧。

編輯:jq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Git
    Git
    +關注

    關注

    0

    文章

    198

    瀏覽量

    15755

原文標題:7 個改變我生活的 Git 小技巧

文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

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

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

    ESP-BOX的Git上的PCB文檔用AD打不開,說文件損壞怎么解決?

    ESP-BOX的Git上的PCB文檔用AD打不開,說文件損壞,能否提供一下AD版本的layout供參考?非常感謝!!!
    發表于 06-27 06:33

    打開esp-idf的任意一component時,vscode會自動導入該component的git倉庫,怎么解決?

    當我打開esp-idf 的任意一component時,vscode會自動導入該component的git倉庫,導致vscode的源碼管理非常擁擠,請問這有什么辦法解決嗎?還是我vscode設置不對導致? 希望大家能指導指導,感謝!
    發表于 06-21 07:39

    ubuntu下的vscode插件安裝idf時,總是找不到git,為什么?

    總是提示:Git is not found in current environment 但是我已經在setting.json下設置了\"git.path\": \"/bin/git\" 同行,命令行里查看
    發表于 06-21 07:16

    git還是用圖形界面安裝idf-tools總是失敗,這是什么問題?

    無論是用git還是用圖形界面安裝idf-tools總是失敗,這是什么問題?
    發表于 06-19 07:03

    CentOS 7: idf.py menuconfig編譯出錯的原因?

    Git: /usr/bin/git (found version \"1.8.3.1\") fatal: Not a git repository (or any
    發表于 06-14 08:21

    通過git命令獲取ESP8266_RTOS_SDK失敗如何解決?

    本人使用的硬件平臺為esp8266,開發環境為ubuntu22.04。在通過git命令獲取ESP8266_RTOS_SDK失敗,通過上網搜索嘗試了很多方法無效。具體情況如下
    發表于 06-07 07:26

    請問下使用IDF怎么做用git做版本控制?

    請問下使用IDF怎么做用git做版本控制?是保存自己應用部分的代碼還是整個SDK都要保存,但是整個框架都是官方下的,有沒必要保存,求各位大神告知下你們怎么處理的。
    發表于 06-06 07:15

    Git發布新版本 修補五處安全漏洞 包含嚴重遠程代碼執行風險

    CVE-2024-32002漏洞的嚴重性在于,黑客可通過創建特定的Git倉庫子模塊,誘騙Git將文件寫入.git/目錄,而非子模塊的工作樹。如此一來,攻擊者便能在克隆過程中植入惡意腳本,用戶幾乎無法察覺。
    的頭像 發表于 05-31 10:09 ?587次閱讀

    飛凌ElfBoard ELF 1板卡-ubuntu18.04 git安裝及基本使用

    git commit -m xxx(xxx代表備注信息) 6.查看提交記錄git log 7.查看分支git branch 添加新的分支git
    發表于 03-21 16:23

    射極輸出器的7特點及其7大應用領域

    射極輸出器的7特點及其7大應用領域? 射極輸出器,也被稱為開關電源或開關電壓調節器,是一種廣泛應用于電子設備中的電源轉換裝置。它具有以下七特點及其七大應用領域: 特點一:高效率 射
    的頭像 發表于 02-03 09:25 ?5845次閱讀

    藍牙 | 軟件:Git管理高通的ChipCode項目

    最近發現大家在高通chipcode網站上下載不了代碼,小編一直使用git的方式獲取新版本代碼,沒有遇到什么阻礙。于是小編到新主機上嘗試下載代碼的壓縮包和git代碼,都遇到了問題。由于壓縮包是高通自己
    的頭像 發表于 01-26 08:29 ?384次閱讀
    藍牙 | 軟件:<b class='flag-5'>Git</b>管理高通的ChipCode項目

    克服PLC編程的難題—基于Git的軟件

    Git是一種分布式版本控制系統,它可以記錄文件的修改歷史和版本變化,并可以支持多人協同開發。
    的頭像 發表于 01-22 09:30 ?956次閱讀
    克服PLC編程的難題—基于<b class='flag-5'>Git</b>的軟件

    Git開發者關注內存安全問題,探討引入Rust語言

    根據最新披露的郵件討論,Git開發團隊熱議在Git項目中引入Rust的可行性。作為一種開源的分布式代碼版本管理工具,廣泛運用于各種開發項目。盡管現在Git項目主要以C與Python為主要開發語言,但探討顯示,引入Rust能顯著降
    的頭像 發表于 01-15 14:23 ?615次閱讀
    <b class='flag-5'>Git</b>開發者關注內存安全問題,探討引入Rust語言

    pcb板彎曲的7關鍵因素

    pcb板彎曲的7關鍵因素
    的頭像 發表于 12-27 10:16 ?1041次閱讀
    主站蜘蛛池模板: 狠狠射首页| 久久免费视频| 37大但人文艺术A级都市天气| 暖暖视频在线观看高清...| 国产精品伦一区二区三级视频| 久久亚洲午夜牛牛影视| 国产av在线看的| 爱暖暖1000部免费| 超碰caoporon最新视频| 操老太太的逼| 短篇合集纯肉高H深陷骚| 草柳最新地址| 成人a毛片久久免费播放| 成人国产精品免费网站| 办公室的秘密2中文字幕| 久久久伊人影院| 大乳牛奶女magnet| 97一期涩涩97片久久久久久久 | 午夜无码片在线观看影院| 美国一级黄色| 精品一卡2卡三卡4卡乱码精品视频 | 24小时日本在线观看片| 亚洲AV久久无码精品国产网站| 泡妞高手在都市免费观看| 巨黄的肉辣文np| 精品人妻无码一区二区三区蜜桃臀 | 亚洲精品影院久久久久久| 搡女人免费免费视频观看| 女人18毛片| 美女内射视频WWW网站午夜| 精品一卡2卡三卡4卡乱码精品视频 | 国语大学生自产拍在线观看| 第四色播日韩AV第一页| 把腿张开JI巴CAO死你H教室| 国产精品…在线观看| 日韩中文亚洲欧美视频二| 欧美日韩久久久精品A片| 日韩午夜影院| 亚洲精品午夜VA久久成人| 18禁止看的免费污网站| 久久黄视频|