Git常见问题
dev与本地代码发生冲突
场景: 当dev分支下拉代码时,与本地代码发生冲突
原因: 测试版远端代码更新了,但本地的没有更新,两边代码不一致导致的冲突
解决办法:
切分支,例如: git checkout feat/2089
删除本地dev分支: git branch -D develop
获取远程dev分支: git checkout develop
2.git stash
场景:
当本地有修改完的代码,但有一部分不需要上传时,可以使用到stash暂存区来解决。(例如先遇到一个任务,改了一段代码1后遇到一个紧急bug,这个bug修复完需要把代码2上传,此时我们想提交代码2又不想把代码1的内容直接丢弃,这时就可以用stash先把代码1的内容传至暂存区)
使用办法:
(1) git stash save “save message” : 执行存储时,添加备注,方便查找,直接git stash 也是可以的,但查找时不方便识别。
(2)git stash list :查看stash了哪些存储
(3)git stash show :显示做了哪些改动,默认show第一个存储,如果要显示其他存储,后面加stash@{KaTeX parse error: Expected 'EOF', got '}' at position 4: num}̲,比如第二个 git stas…num} ,比如应用并删除第二个:git stash pop stash@{1}
(5)git stash drop stash@{KaTeX parse error: Expected 'EOF', got '}' at position 4: num}̲ :丢弃stash@{num}存储,从列表中删除这个存储
3.git cherry-pick
场景: 做新需求时,忘记建新分支,直接在非生产分支上作出更改(比如commit: abcdefg),且可能更改处较多。这种情况下
使用办法: cherry-pick可以理解为摘桃子,从之前提交的commit记录中(可以是其他分支的)选一个想要的commit的编号进行cherry-pick即可(选择多个可以用空格隔开),这样就可以把当前选中的commit内容放到当前分支内
命令: git cherry-pick SHA