git 代码分支回滚+切换分支
一、代码分支回滚
问题描述:
删除本地文件后,想从远程仓库中重新新Pull最新代码,但是执行了git pull origin develop 命令后始终无法拉取下来,提示:Already up-to-date.
问题原因:
当前本地库处于另一个分支中,需将本分支发Head重置至develop
解决方案:
git 强行pull并覆盖本地文件(依次执行)
git fetch --all
git reset --hard origin/master # 将本地的状态回退到和远程的一样
git pull
执行之后即可看到最新代码
二、Pycharm本地切换分支
1. 本地分支切换的时候(例如A切到B),会弹出来Restore workspace on branch switching [在分支切换时恢复工作区] 对话框,如果选择是的话,在切换分支的时候,你在当前分支(A)所做的一些还未add或commit/push的文件改动(包括断点等的设置)会带到切换后的分支(B)上;
2. 如果本地工作空间没有uncommitted changes [未提交的更改], 分支会顺利切换
3. 如果本地工作空间(分支A)有些文件会被分支B改动,IDEA会弹出对话框,让你选择Force Checkout [强制] 或 Smart Checkout [智能]
如果选择Force Checkout, 本地工作空间(分支A)的一些未提交的修改会被覆盖(被分支B覆盖),会有很大可能丢代码!
如果选择Smart Checkout,IDEA会先执行stash命令,贮存这些未提交的修改,然后checkout 到分支B,在切换到分支B后,unstash [释放] 这些修改,所以A分支本地的这些修改会带到B分支上。
三、Pycharm上的git分支出现rebasing解决
问题描述:
Pycharm右下角的git分支出现rebasing
问题原因:
因为不规范操作,导致pycharm上 的git分支上一直出现rebasing样式
解决方案:
找到对应的.git下的rebase-xxx,删除它,pycharm上的rebasing会消失
备注:如果.git文件找不到,可以使用evething来寻找rebae文件。
evething工具:
持续更新~