在 Git 的使用過程中听皿,會(huì)遇到很多疑問或者奇奇怪怪的問題,在這里挑出幾個(gè)問題說明下
- Git Bash 不能顯示中文
- Git 管理中仑最,文件大小寫問題
- Git 中使用 help
- 到底什么是 commitid ?
- 每次都需要輸入Git 密碼
配置問題
Git Bash 不能顯示中文
假設(shè)目錄里面新增了一個(gè)中文名稱的 txt, 使用 git status 查看有改動(dòng)但未提交的文件時(shí)總只顯示數(shù)字串芙代,顯示不出中文文件名赋秀。
這是因?yàn)樵?默認(rèn)設(shè)置下,Git 顯示為八進(jìn)制字符編碼
解決方案
首先 將 Git 配置文件 core.quotepath 項(xiàng)設(shè)置為 false(不會(huì)對(duì) 0x80 以上的字符進(jìn)行 quote)
git bash 終端輸入命令:git config --global core.quotepath false
quotepath
表示引用路徑--global
表示全局配置
這樣設(shè)置后如果無效溪窒,那么 git bash 終端也需要設(shè)置成中文和 utf-8 編碼夯接。
在 git bash 的界面中右擊空白處,彈出菜單慢味,
選擇 選項(xiàng) (Options) -> 文本 (Text)场梆,本地 (Local) 設(shè)置為zh_CN,字符集選框選為 UTF-8
Git 管理中纯路,文件大小寫問題
如果修改了一個(gè)文件或目錄的大小寫或油,status 查看一下,是看不到更改的
原因是: Git 默認(rèn)不區(qū)分大小寫
所以最好把 Git 的大小寫敏感開啟驰唬,否則可能有坑
解決方案
git config --get core.ignorecase
查看默認(rèn)配置
然后把這項(xiàng)設(shè)置成 false 表示區(qū)分大小寫 git config core.ignorecas false
Git 操作問題
help
Git 命令雖然不難顶岸,但有時(shí)候容易記混,在基本 Git 關(guān)鍵字后面使用-h
選項(xiàng)可獲得相關(guān)使用方法
比如 查看 config
都有哪些選項(xiàng)叫编,使用 git config -h
$ git config -h
usage: git config [<options>]
Config file location
--global use global config file
--system use system config file
--local use repository config file
-f, --file <file> use given config file
--blob <blob-id> read config from given blob object
Action
--get get value: name [value-regex]
--get-all get all values: key [value-regex]
--get-regexp get values for regexp: name-regex [value-regex]
--get-urlmatch get value specific for the URL: section[.var] URL
--replace-all replace all matching variables: name value [value_regex]
--add add a new variable: name value
--unset remove a variable: name [value-regex]
--unset-all remove all matches: name [value-regex]
--rename-section rename section: old-name new-name
--remove-section remove a section: name
-l, --list list all
-e, --edit open an editor
--get-color find the color configured: slot [default]
--get-colorbool find the color setting: slot [stdout-is-tty]
Type
-t, --type <> value is given this type
--bool value is "true" or "false"
--int value is decimal number
--bool-or-int value is --bool or --int
--path value is a path (file or directory name)
--expiry-date value is an expiry date
Other
-z, --null terminate values with NUL byte
--name-only show variable names only
--includes respect include directives on lookup
--show-origin show origin of config (file, standard input, blob, command line)
--default <value> with --get, use default value when missing entry
到底什么是 commitid ?
在保存到 Git 之前辖佣,所有數(shù)據(jù)都要進(jìn)行內(nèi)容的校驗(yàn)和(checksum)計(jì)算,并將此結(jié)果作為數(shù)據(jù)的唯一標(biāo)識(shí)和索引搓逾,這也就是我們所說的 commitid卷谈。
Git 使用 SHA-1 算法計(jì)算數(shù)據(jù)的校驗(yàn)和,通過對(duì)文件的內(nèi)容或目錄的結(jié)構(gòu)計(jì)算出一個(gè) SHA-1 哈希值恃逻,作為標(biāo)識(shí)字符串雏搂。該字符串由40個(gè)十六進(jìn)制字符(0-9 以及 a-f)組成,看起來就是
0782cd519162a6e8c9679b79b61b836fa790d947
所以我們前面提到的 commitid 就是 SHA-1 hash值寇损,反之如果說 Git 中的 SHA 就是 commitid 了凸郑, 這個(gè)值通過 git log
是可以查看,可視化工具也可查看 SHA
每次操作都需要輸入用戶名和密碼
在~/.gitconfig目錄下多出一個(gè)文件矛市,用來記錄你的密碼和帳號(hào)
git config --global credential.helper store
再進(jìn)行一次操作芙沥,就可以把用戶名密碼記錄下來啦
入門系列到此收官,希望對(duì)閱讀者有幫助哦,如果有什么疑問可以進(jìn)行討論而昨,共同學(xué)習(xí)進(jìn)步
系列文章傳送門
Git 入門系列(一)- Git 概念/安裝/基本操作/遠(yuǎn)程推送更新
Git 入門系列(二)- 修改管理 / 撤銷操作 / 命令及區(qū)間關(guān)系
Git 入門系列(三)- 分支(上)創(chuàng)建與切換 / 合并 / 查看 / 刪除
Git 入門系列(四)- 分支(下)合并解決沖突 / 遠(yuǎn)程分支
Git 入門系列(五)- stash 貯藏
Git 入門系列(六)- 標(biāo)簽 tag
Git 入門系列(七)- 可視化 Git 管理工具
Git 入門系列(八) - FAQ
歡迎關(guān)注個(gè)人公眾號(hào)救氯,【程序媛春哥的手記】