本文首發於微信公衆號:程序員喬戈裏 轉載請註明:https://blog.csdn.net/WantFlyDaCheng/article/details/102538508前端
你當前的操做場景以下圖,因爲一次CR(評審)的多個commits不能push到不一樣的refs/for/[分支名](可能致使後續評審合入merge failed):git
>評審是啥意思,這裏解釋一下。本地開發的流程首先是從本身遠程的分支A拉到本地,遠程分支是master分支的一個clone,本地完成開發後,須要提交到本身的遠程分支,提交之後必須由其它人評審代碼(code reviewe),其它同事評審的時候主要找出不合規範和邏輯的地方,你須要修改完成之後,才能合入到你的遠程分支A,而後再從你的遠程分支A合到master上,這樣就完成了代碼入庫。程序員
$git reset --soft [CR parent commit] (對應CR parent commit見push報錯信息.也就是有6e8713f is CR parent commit) $git commit -m"commit message" $git push origin HEAD:refs/for/[branch B]
1. 撤銷緩存區的修改面試
git reset HEAD filename
git checkout --filename
上圖是提交代碼時候,發生了衝突,依舊很貼心,百度這套代碼審查系統依舊給了提示,照着提示操做一波。算法
git fetch origin git rebase origin/master
git add -u git rebase --continue
git push origin HEAD:refs/for/master
如何撤銷commit提交,熟練的執行完如下兩條命令之後:數據庫
git add * git commit -m "提示信息A"
你發現本身的提示信息寫的不對,想git commit -m "提示信息B",可是因爲已經git commit 過了,會提示你沒有什麼須要git commit的,這個時候如何撤銷git commit呢?編程
git reset --soft HEAD^
這樣上一次提交就被撤回了,而後繼續執行git commit -m "提示信息B" 便可。後端
>若是是頭條用戶,能夠在個人頭條號 程序員喬戈裏 私信我 資源 獲取價值29998元的編程和考研資料 以爲文章不錯的歡迎關注個人WX公衆號:程序員喬戈裏
我是BAT大廠後臺開發工程師,專一分享技術乾貨/編程資源/求職面試/成長感悟等,關注送5000G編程資源和本身整理的一份幫助很多人拿下Offer的整理一份面試資料《技術面試必備基礎知識》,覆蓋了Java核心技術、JVM、Java併發、SSM、微服務、數據庫、數據結構、Leetcode 題解、、C++、Python、後端面試、操做系統、計算機網絡、系統設計等等。關注公衆號並回復 888 領取,免費下載CSDN資源。緩存
>若是你對算法感謝趣,歡迎關注個人公衆號 圖解算法,使用Python/Java/前端/C++四種語言對Leetcode和劍指offer進行漫畫講解,幫助你快速搞懂算法!微信
> 本文由博客一文多發平臺 OpenWrite 發佈!