git reflog
遇到的協(xié)作問題
git 怎么只在自己的機(jī)器中exclude一個(gè)已經(jīng)commit過的文件?
git rm —cached
就是config.json數(shù)據(jù)庫配置文件,自己本地的密碼不一樣,應(yīng)該只在自己本地修改不提交
放在 gitignore 里
然后 git rm --cached -r .
在feature上工作已經(jīng)提交代碼,但是比線上master分支落后,需要和master保持一致,
merge也可以實(shí)現(xiàn)但是會(huì)產(chǎn)生一條merge記錄,顯得很愚蠢。
正確流程git pull origin master –rebase之后本地是最新版本,直接push —force就行。
git pull origin master —rebase
git rebase develop / git rebase origin develop
區(qū)別是進(jìn)入vim 模式,加-i可以去掉rebase 的 message
vim 操作 (dd 刪除
V+????選擇
X 刪除
insert+內(nèi)容
:wq保存退出)
這里注意有時(shí)候會(huì)出現(xiàn)多次沖突,修改完
git add ___
git rebase –continue
git log
git push –force origin
操作出現(xiàn)問題:rebase后,我feature分支上出現(xiàn)2個(gè)未pull,3個(gè)未push,然后先git pull,再git push—force
會(huì)將之前兩個(gè)改動(dòng)再提交一次,如下圖所示

解決:git revert也會(huì)產(chǎn)生一條記錄,是提交一個(gè)新的版本,將需要revert的版本的內(nèi)容再反向修改回去 X 潔癖者不適用
git reset –hard cccfb44
git push –force origin
或者git rebase -I
Git 常見命令整理
新建feature:–api
git commit -m ""
git push
git pull
git clone
切換分支git checkout feature/linkman_api
已經(jīng)提交的代碼中,有些改動(dòng)要調(diào)換到其他分支中去
可以用git reset 命令
先提交需要提交當(dāng)前分支的信息
切換分支再提及
切換分支提交剩下的部分
關(guān)于 git 的 cherry pick 操作
可以將其他分支的當(dāng)前commit直接提交到當(dāng)前所在分支上
eg:當(dāng)前所在分支是center,需要將feature/agent-discountRate的最新一條commit內(nèi)容提交到center分支
