git常用場景記錄
doing,最后更新9.19
拉取遠程分支A合并到本地分支B
需求描述
在團隊合作時,我自己的本地分支B功能已經(jīng)實現(xiàn)并合并到feature
,之后發(fā)現(xiàn)別人的代碼也合并到了feature
。為了防止以后實現(xiàn)其他功能,合并到feature
時產(chǎn)生沖突,決定拉取最新的feature
并合并到本地分支B。
實現(xiàn)步驟
1.git checkout feature
本地切換分支到feature
2. git pull
拉取遠程分支,確保當前分支是最新代碼
3. git checkout B
切換到自己的分支
4. git merge feature
將feature分支合并到自己的分支
本地分支B存在未add與commit的代碼
需求描述
我們正在本地分支B開發(fā)的時候,發(fā)現(xiàn)有一個之前版本的bug,并且在分支feature
的新版本已經(jīng)更新。我們想把feature
版本的更新合并到本地分支B上。
實現(xiàn)步驟
1.git stash -u
在分支B上暫存工作區(qū)代碼
2.git checkout feature
本地切換分支到feature
3. git pull
拉取遠程分支,確保當前分支是最新代碼
4. git checkout B
切換到自己的分支
5. git merge feature
將feature分支合并到自己的分支
6. git stash pop
在分支B上恢復工作區(qū)
刪除上一次的commit
已經(jīng)push到遠程庫
需求描述
1.在commit代碼后提交到遠程庫,經(jīng)上級審核后,存在代碼規(guī)范問題,所以需要重新修改后提交。但是由于代碼實現(xiàn)的是一個功能,而且代碼修改了的地方很少,所以向?qū)⑸弦淮蔚奶峤粍h除后,重新提交。
2.在commit代碼后提交到遠程庫后,發(fā)現(xiàn)有一些本地配置文件一起上傳了,所以想刪除上一次的commit,重新提交。
需求分析
1.需要保留本地修改后的代碼,工作區(qū)代碼不變
2.由于已經(jīng)push到遠程庫,相等于需要回退到上一個版本并刪掉遠程庫的本版本
實現(xiàn)步驟
1.git relog
查看需要回退的commithash(上一次提交的commithash為A,所以需要回退到A之前的一個版本)
2.git reset --soft commithash
回退到指定版本并保持工作區(qū)代碼不變。
由于工作區(qū)代碼不變,所以commit之后的其他很多版本修改仍然存在。提交的時候會把不屬于自己的代碼提交。所以可以舍棄掉其他版本的修改,然后重新執(zhí)行【本地分支B存在未add與commit的代碼的步驟】
3.重新add commit
4.由于本地庫回退之后,版本低于遠程庫(遠程庫最新版本是我們想刪除的),所以使用git push -f
強制將本地庫提交到遠程庫
攜帶本分支的修改內(nèi)容到另外一個分支
需求描述
在A分支修改的時候,發(fā)現(xiàn)修改的功能是下一個版本的功能?,F(xiàn)在下一個版本,更新了新分支B,需要將在A分支的修改攜帶到B分支上。文章來源:http://www.zghlxwxcb.cn/news/detail-682116.html
在A分支修改時,沒有conmmit文章來源地址http://www.zghlxwxcb.cn/news/detail-682116.html
# A分支下操作
git stash -u
# 切換到B分支
git checkout B
# B分支下操作
git stash pop
到了這里,關(guān)于git常用場景記錄 | 拉取遠程分支A合并到本地分支B的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!