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

7個改變我生活的Git小技巧

系統 Linux
不論我變得對 Git 有多熟悉,似乎總有些功能等待著被發掘。下面分享下和 Git 相關的改變我工作方式的一些小技巧。

[[414047]]

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

1、Git 中的自動糾錯

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

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

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

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

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

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

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

  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 命令: 

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

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

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

3、倉庫優化

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

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

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

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

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

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

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

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

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

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

5、了解你的 .git 文件夾

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

  1. $ ls -a. … .git 

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

  1.  當前工作樹(你當前檢出的文件狀態)
  2.  你的 Git 倉庫的文件夾(準確地說,包含版本信息的 .git 文件夾的位置)

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

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

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

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

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

  1. $ cat .git/description 

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

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

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

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

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

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

  1. $ git show main:README.md 

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

7、Git 中的搜索

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

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

例如,假設你想在你的倉庫中搜索字符串 “font-size: 52 px;" : 

  1. $ 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; 

試試這些小技巧

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

 

責任編輯:龐桂玉 來源: 良許Linux
相關推薦

2021-06-28 11:46:31

GitLinux

2020-12-07 09:56:34

GitLinux版本控制系統

2021-04-20 20:36:14

Git家目錄Linux

2025-02-11 00:00:50

2011-08-10 18:13:22

windows7技巧

2012-06-13 11:25:23

Windows 8系統技巧

2025-04-11 08:26:41

2010-08-05 09:11:56

2016-02-17 09:52:54

物聯網智慧生活

2018-11-28 12:30:58

Python命令行編程語言

2020-05-18 08:42:23

CSS背景圖像前端開發

2012-08-16 10:35:50

Windows Pho

2013-03-29 09:39:04

2019-07-04 19:06:04

技術人工智能大數據

2009-11-07 19:05:05

Windows 7多點觸摸

2011-07-26 09:09:37

Java

2011-11-07 15:55:28

網頁設計

2021-05-12 14:40:32

模型人工智能 PyTorch

2020-12-14 08:30:02

JavaScript開發代碼

2009-05-04 09:11:28

GoogleChrome瀏覽器
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 中文字幕 视频一区 | 精品国产91 | 成人免费视频 | 99国产精品久久久久 | 国产在线观 | 99热电影| 午夜午夜精品一区二区三区文 | 一区二区国产在线观看 | 久久精品亚洲精品国产欧美 | 成人小视频在线观看 | 亚洲福利网站 | 成人福利 | 天天草天天爱 | 国产欧美日韩一区二区三区在线 | 天天操网 | 欧美视频一区 | 免费精品久久久久久中文字幕 | 免费看啪啪网站 | 视频在线观看一区二区 | www.精品一区 | 99久久中文字幕三级久久日本 | 国产一区二区三区在线 | 亚洲午夜精品 | 国产香蕉视频在线播放 | 国产精品91网站 | 日日夜夜天天久久 | 色婷婷综合在线观看 | 亚洲欧洲中文日韩 | 粉嫩一区二区三区性色av | 国产精品成人一区二区 | 精品一区二区三区免费毛片 | 久久免费电影 | 亚洲电影免费 | 久久亚洲国产 | 国产一区日韩在线 | 超碰成人在线观看 | 九色 在线| 天天操天天射综合 | 综合另类 | 亚洲国产中文字幕 | 欧美成视频|