git 小知識(shí)點(diǎn)

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)再提交一次,如下圖所示


image.png

解決: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分支


image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容