git常用情况及处理
git操作,拉取和推送
-
拉取之前应该保存自己做了的修改
git add xx
git commit -m ‘Fix case’ -
在其他分支时 更新远端最新代码
git pull --rebase origin develop
如果在develop分支,直接git pull
git checkout . 删除未跟踪的文件 -
git push失败
因为您当前分支的最新提交落后于其对应的远程分支
使用 git push -f
pull 完后重新执行cmake两步
将A分支rebase到B分支的冲突处理
当我在另外的分支使用git pull --rebase origin develop若发生冲突会提示我:
位于分支 param/err
您的分支和 ‘origin/param/err’ 出现了偏离,
并且分别有 154 和 5 处不同的提交。
如果我不想提交这些提交到param/err,只是想提交我自己修改的文件,要使用
Git push -f(注意 别选错分支,强推会造成一些不好的影响)
产生冲突的情况
- git pull --rebase origin develop
git status 查看双方修改的文件
处理冲突
====== head
======> - 然后改好了之后 git add 修改的文件
git status 冲突解决之后
git rebase --continue - git push -f
将A分支的改动移到B分支上 git cherry-pick
日常开发中,可能会在A分支上进行开发,但可能会由于操作不小心或其他问题,A分支提交不上去,需要创建新分支。或是在一个demo分支上做预研,发现效果可行后需要继续开发。此时直接复制代码很麻烦,可以采用git chery-pick
-
首先将A分支的改动commit,拿到comit ID
-
git checkout B
-
git cherry-pick , 为A分支提交的哈希值
-
若遇到冲突,进行手动处理后,git add xxx将冲突文件add,再执行git chery-pick --continue