您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關git使用中的小技巧有哪些的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
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,而不是給你展示它所建議的子命令。
需要對提交進行計數的原因有很多。例如,一些開發人員利用提交計數來判斷什么時候遞增工程構建序號,也有一些開發人員用提交計數來對項目進展取得一個整體上的感觀。
對提交進行計數相當簡單而且直接,下面就是相應的 Git 命令:
$ git rev-list --count branch-name
在上述命令中,參數 branch-name 必須是一個你當前倉庫里的有效分支名。
$ git rev-list –count master32$ git rev-list –count dev34
你的代碼倉庫不僅對你來說很寶貴,對你所在的組織也一樣。通過少數幾個慣例你就能使自己的倉庫整潔并且保持最新。使用 .gitignore 文件[2] 就是這些最好的慣例之一。通過使用這個文件你可以告訴 Git 不要保存一些不需要記錄的文件,如二進制文件、臨時文件等等。
當然,你還可以使用 Git 的垃圾回收來進一步優化你的倉庫。
$ git gc --prune=now --aggressive
這個命令在你和你的團隊經常使用 pull 或者 push 操作的時候很有幫助。
它是一個內部工具,能清理掉你的倉庫里沒法訪問或者說“空懸”的 Git 對象。
大多數時候,刪除所有未追蹤的文件是安全的。但很多時候也有這么一種場景,你想刪掉這些未追蹤的文件同時也想做個備份防止以后需要用到。
Git 組合一些 Bash 命令和管道操作,可以讓你可以很容易地給那些未追蹤的文件創建 zip 壓縮包。
$ git ls-files --others --exclude-standard -z |\ xargs -0 tar rvf ~/backup-untracked.zip
上面的命令就生成了一個名字為 backup-untracked.zip 的壓縮包文件(當然,在 .gitignore 里面忽略了的文件不會包含在內)。
每個倉庫都有一個 .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]。
有時,你會想要瀏覽另一個分支下某個文件的內容。這其實用一個簡單的 Git 命令就可以實現,甚至都不用切換分支。
設想你有一個命名為 README.md[4] 的文件,并且它在 main 分支上。當前你正工作在一個名為 dev 的分支。
用下面的 Git 命令,在終端上就行。
$ git show main:README.md
一旦你執行這個命令,你就能在你的終端上看到 main 分支上該文件的內容。
[/yiji]7、Git 中的搜索[/yiji] 用一個簡單的命令你就能在 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使用中的小技巧有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。