1.文件權限的變更導致Git
的變動
在之前把開發(fā)環(huán)境由
Windows
轉入Ubuntu
之后,發(fā)現(xiàn)一個特別奇怪的問題遗契,
就是AndroidStudio的文件經常改著改著突然所有的文件都出現(xiàn)了改動
仔細對比你會發(fā)現(xiàn)沒有什么代碼改動欧瘪,這次無意中發(fā)現(xiàn)他托,是因為git對文件權限的改動也做了記錄
解決方案
//配置git忽視權限的變動 (畢竟文件權限不是我們關心的改變)
$ git config core.filemode false
2.文件名大小寫改動git
不識別
git 默認不區(qū)分文件名大小寫
//配置`git `使其對文件名大小寫敏感
$ git config core.ignorecase false
3.強大的cherry-pick
將提交到A分支
的commit
提交到B分支
將原本該在
dev
分支的bugfixed
提交到了master
分支
1. 找到master剛提交的commit id
2. 切換到 dev
3. git cherry-pick “commit id xxx”
4.本地代碼reset
之后,push failed
1. 打開git bash 來操作 (最新版本的androidstudio已經可以進行force push了)
2. 切換到git托管的目錄
3. git push -f (force) //加上-f參數(shù) 強制刷新remote/origin/xxxxx
5.后續(xù)添加新的規(guī)則到.gitignore
不生效
在用
Git
進行代碼管理的過程中昆雀,我們會發(fā)現(xiàn)后添加進去的.gitignore
文件, 或者是中途修改了.gitignore
文件后云石,.gitignore
文件沒有生效,我們需要通過清除track 緩存
和強制 track
來解決問題
-
Git
代碼管理中研乒,我們在沒有添加.gitignore
文件的前提下提交了代碼之后再提交.gitignore
文件留晚,或者是中途添加某一文件類型到.gitignore
文件中,需要通過以下命令行的方式,讓.gitignore
文件生效:
//清除緩存
git rm -r --cached .
//添加
git add .
//提交
git commit -m "xxxxx"
- 如果是中途從
.gitignore
文件中移除某一文件類型错维,想要這個文件類型重新被track
奖地,需要通過以下命令行的方式,讓.gitignore
文件生效:
//添加的時候加上-f參數(shù)
git add -f *.class
//提交
git commit -m "xxx"