维护分支的Pull Request时,最怵Master Branch有新Release,在Merge Master时会遇到各式各样的问题。GIT使用时间不长,对界面上弹出的各式出错提示,心有戚戚焉。一直以来也总想多学点GIT命令,以便可以灵活应对,但纸上谈兵,印象不深,用时不明就里。今天十一假期最后一天,为两个分支Merge的Master,也是问题不断。但好在,不急不赶,做错了,沉下心来在网上带着问题与想法,寻找合适的命令组合。成功解决了问题,学到了新技能。
总结一下,便于今后翻阅借鉴!
回退到某个Commit (敲错了命令也不怕!)
事件还原:执行以下操作,想让本地分支与远端Master同步
操作命令:
(branch) git pull origin master
Result: VS Code出错提示Staged changes.
(branch) git commit -am "merge" (提交staged changes)
(branch) git push (提交到远端分支)
Result:
提示有冲突。//后经分析:这次冲突是分支的Local repo与Remote repo间有冲突!
Reason:
这次,远端分支lead writer帮我做过一次merge操作,而我并没有在意,没有git pull把远端分支同步到本地库。
在执行pull origin操作前一定要git status!! 检查一下本地版本是否是与最新的远端版本同步!
Solution:
回退至本地pull origin master前的版本,然后再git pull远程分支,再完成其余操作!!!
Git log
Git reset - -hard <head id>
Git pull //pull同名远端
Git pull origin master //pull 远端master
//最近两次发现pull后,不需要commit,已经在local repo了。网上文章里也说同时更新本地库与工作目录。图示中pull只到working directory有误!
Git commit -am "merge"
Git push
!!本地库回退后,如想远端库同样回退
git push -f
Stashed内容必须及时删除
事件还原
重新Pull master,commit时,总是提示另一Branch里某一MD中新增加的内容(见下图)待处理??
好在知道了可以回退,沉下心,反复操作,认真读界面文字,发现了原来是让我选择是否保存Stashed内容... 想起来,我为了减少commit次数,在另一分支采用了Stash命令来暂存修改,当我切换到其它分支时,暂时不提交修改到本地库。
我在处理Stash恢复时,用的是Stash apply,这样,每次Stash都有一个Stash ID记录。
Reason:
Stash的管理并不区分分支!!
解决办法:
Git stash drop //删除Stash,或者手工确认。
Push时会无故出现Validation Failure
事件还原:
Git push后,做markdown与Video validation,提示Video validation出错。
Solution:
再Git push一次,没有再出现error。分析有可能是网络问题!
相关话题:
网友评论