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

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

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

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

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

1、Git 中的自動糾錯

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

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

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

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

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

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

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

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

2、對提交進行計數

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

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

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

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

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

3、倉庫優化

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

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

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

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

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

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

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

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

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

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

5、了解你的 .git 文件夾

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

  1. $ ls -a
  2. . .git

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

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

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

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

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

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

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

  1. $ cat .git/description

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

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

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

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

設想你有一個命名為 README.md 的文件,并且它在 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;’
  2. F30229e12:HtmlTemplate/style.css: font-size: 52 px;
  3. E92118244:RR.Web/Content/style/style.css: font-size: 52 px;

試試這些小技巧

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

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2021-07-29 11:30:31

GitLinux命令

2020-12-07 09:56:34

GitLinux版本控制系統

2015-11-30 17:12:31

Git使用技巧

2023-09-07 16:28:46

JavaScrip

2021-11-22 12:13:54

Linuxwget 命令

2022-09-30 09:26:35

JavaScript技巧

2015-09-25 13:37:02

技巧開始菜單

2013-04-25 10:03:12

網絡管理網絡互聯網管

2021-08-17 10:08:44

HTML網站網絡

2022-04-14 10:40:11

領導者IT團隊遠程團隊

2024-06-25 15:41:41

2022-09-25 22:56:52

JavaScrip編程技巧

2019-09-09 10:32:51

基于意圖的網絡IBN網絡

2023-05-30 09:59:38

2018-05-24 08:47:15

數據存儲技巧

2022-07-14 10:34:13

IT領導者CIO首席信息官

2018-04-27 09:22:21

數據存儲技巧

2025-03-21 08:20:00

數據清洗Python編程

2023-10-17 18:03:30

Code更改函數

2018-07-08 23:29:49

物聯網IOT智能化
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 免费一区二区三区在线视频 | 国产精品视频在线播放 | 在线永久看片免费的视频 | 成人国产在线观看 | 欧美九九| 黄色在线免费观看视频网站 | 久久精品小短片 | 97精品视频在线 | 国产免国产免费 | 综合九九 | 一区二区三区视频免费观看 | 日韩一区二区在线视频 | 最新国产福利在线 | 亚洲一区二区在线电影 | 久久国产99 | 精品国产免费人成在线观看 | 午夜精品久久久久久久久久久久 | 国产不卡一区 | 五月激情婷婷在线 | 国产精品一区二区三 | 精品视频www | 免费毛片www com cn | 亚洲不卡在线观看 | 亚洲性人人天天夜夜摸 | 视频三区 | 我要看黄色录像一级片 | 黄色一级视频免费 | 精品视频一区二区三区在线观看 | 日韩久久久久久 | 一区日韩 | 亚洲一区免费在线 | 欧美日韩一区二区在线观看 | av综合站| 国产精品久久在线观看 | 污视频免费在线观看 | 国产精品一区久久久久 | 日本不卡一区 | 欧美亚洲激情 | 99r在线| 国产美女免费视频 | 亚洲第一女人av |