git使用過程中遇到的問題
阿新 • • 發佈:2022-03-01
git檢視某個檔案的修改歷史及具體修改內容
git log --pretty=oneline 檔名
使用git show即可顯示具體的某次的改動的修改
在git中出現中文亂碼的解決方案
解決方案
- 在cygwin中,使用git add新增要提交的檔案的時候,如果檔名是中文,會顯示形如 274\232\350\256\256\346\200\273\347\273\223.png 的亂碼。
- 解決方案:在bash提示符下輸入:
git config --global core.quotepath false
- core.quotepath設為false的話,就不會對0x80以上的字元進行quote。中文顯示正常。
- 解決方案:在bash提示符下輸入:
- 在MsysGit中,使用git log顯示提交的中文log亂碼。
解決方案:- 設定git gui的介面編碼
git config --global gui.encoding utf-8
- 設定 commit log 提交時使用 utf-8 編碼,可避免伺服器上亂碼,同時與linux上的提交保持一致!
git config --global i18n.commitencoding utf-8
- 使得在 $ git log 時將 utf-8 編碼轉換成 gbk 編碼,解決Msys bash中git log 亂碼。
git config --global i18n.logoutputencoding gbk
- 使得 git log 可以正常顯示中文(配合i18n.logoutputencoding = gbk),在 /etc/profile 中新增:
export LESSCHARSET=utf-8
- 設定git gui的介面編碼
- 在MsysGit自帶的bash中,使用ls命令檢視中文檔名亂碼。cygwin沒有這個問題。
- 解決方案:
- 使用
ls --show-control-chars
命令來強制使用控制檯字元編碼顯示檔名,即可檢視中文檔名。 - 為了方便使用,可以編輯 /etc/git-completion.bash ,新增一行 alias ls=“ls --show-control-chars”
- 使用
- 解決方案:
- 終極的解決方案是通過修改git和TortoiseGit原始碼實現,有網友這麼做了:讓Windows下Git和TortoiseGit支援中文檔名/UTF-8 ,也可以直接訪問這個開源的Google專案:utf8-git-on-windows 。
- 如果不抗拒命令列的話,直接用Cygwin來提交Git庫。因為Cygwin其實是一個在Windows平臺上的模擬器,它完全模擬GNU/Linux的方式執行,所以Cygwin中的Git是採用UTF-8編碼來儲存中文的。
回退到某個commit號:git reset --hard 4b6339a108c33a7904c6bf72f018ec2927bc9337
cherry-pick的commit之間有沒有做過更改沒有直接關係.
如果沒有更改, 當然會直接merge沒有conflict.
如果二者之間還有過更改, 因為cherry-pick其實是用那次commit的內容進行patch, 所以要分情況看:
- 所做更改沒有在diff資訊的context範圍內, 沒有衝突.
- 所做更改在diff資訊的context範圍內, 你需要解決這個衝突才能merge.
後期會繼續補存