git本地分支对齐远程分支

记录一下今天碰到的一个小问题

前因是基于'master'拉取了一个新分支来开发东西,但是我本地的最新的分支和远程的分支居然差着399个提交Σ(⊙▽⊙"a,而且要提交的东西我同事拉了最新的分支之后他哪儿是有的

++也就是说我本地的分支和线上的分支差着很多提交,但是++ 这些提交只存我本机,没有推送到远程

那么问题来了,我需要本地的这些更改之后正确的代码,但是我的提交是没有意义的,那怎么消除这些提交呢

1:更新本地的远程分支镜像,拿到远程最新状态

先查看已配置的远程仓库(大部分都是叫'origin',但查一下更放心)

复制代码
git remote

输出的一般都是
```
origin
```
这个就是远程仓库名

拉取远程最新的状态(不执行 fetch,你看到的 origin/xxx 是旧缓存,重置会出错)

复制代码
git fetch origin

注:origin 是远程仓库别名,不是分支,不要想着git fetch master就能拉倒最新的master,master是分支名称,origin是仓库名称,别搞混,如果你只想拉取master的话那就是:

复制代码
git fetch origin/master

'/'不能省!!!!,必须这样写,你想拉其他的分支就把master换成那个分支名称即可

2:把本地分支强制对齐远程分支

重置本地分支到远程状态

⚠️ 注:你当前所在那个分支,执行的就是把你当前的分支对齐远程的你输入的分支,记得切换好分支再执行对齐

例:我想对齐本地的dev和远程的dev

那代码就是:先切换到dev,然后同步分支

复制代码
git checkout dev

git reset --hard origin/dev

同步完之后本地的dev会强制同步为远程的dev,那个提交会消失不再提示

再强调一遍,这些操作的前提是:

1:远程的分支是最新最正确的

2:你本地的代码需要提交的更改都是远程分支更改过的
3:本地的提交都会丢失,没有你拉取之后二次更改的代码

因为reset的本质就把远程的某个分支覆盖掉本地的某个分支,所以本地那些更改都会消失

3:最后:一键校验全套命令(修复完必跑)

老规矩,先拉取一下最新的仓库

复制代码
git fetch origin

然后branch -vv,这条命令会列出所有本地分支和对应的远程跟踪分支,看每一行后面状态,都是 up to date 就代表全部本地分支都和远程同步完毕

复制代码
git branch -vv
相关推荐
IT_陈寒21 分钟前
Vite热更新突然失效?可能是这个配置在捣鬼
前端·人工智能·后端
一只小阿乐29 分钟前
java 快速上手开发 2
java·开发语言·前端
nicole bai40 分钟前
dialog封装
前端·javascript·vue.js
高彬1 小时前
SAP ECC6.0 对接 C# web Services服务
开发语言·前端·c#·sap
小江的记录本1 小时前
【CSS】CSS 核心:盒模型、BFC/IFC、Flex/Grid 布局、响应式布局、移动端适配(附《思维导图》)
前端·css·面试·前端框架·tensorflow·html5·xss
Coodor1 小时前
BS架构下在前端读写超高频UHF标签
前端·超高频·rfid读写器web插件·uhf标签
一晌小贪欢1 小时前
python-第20天:关键字参数与不定长参数
java·开发语言·前端·python·数据可视化·函数参数·python办公
我命由我123451 小时前
JS Mock(Mock 拦截请求的前提、Mock 使用、关闭 Mock)
开发语言·前端·javascript·前端框架·html·html5·js
开开心心就好1 小时前
手机精确倒计时工具悬浮窗口秒数实时显示
android·前端·javascript·jupyter·智能手机·pdf·html