Henry前端笔记之 git实际操作问题记录
Henry前端笔记之 git实际操作问题记录
- 在拉取后发现之前有未推送的更改
- 早上有一次提交没有推送成功 后来强制拉取覆盖了 因为冲突太多~~ 现在决定找回之前的提交
- 错误分析:
- 解决方案:
- 参考文献:[git的常用命令及工作中冲突问题解决方法](https://www.jianshu.com/p/db3e5bd40d13):
在拉取后发现之前有未推送的更改
PS C:\Users\Ayun\Desktop\bjy_admin> git branch //查看当前所在分支
* dev
PS C:\Users\Ayun\Desktop\bjy_admin> git status //查看当前状态
On branch dev
Your branch is ahead of 'origin/dev' by 2 commits.//表示在你之前已经有2个commit而没有push到远程分支上(use "git push" to publish your local commits)nothing to commit, working tree clean //没有待提交与暂存的修改
- git cherry -v (命令详解:https://www.jianshu.com/p/06f8816c2248) 查看到未传送到远程代码库的提交描述/说明
PS C:\Users\Ayun\Desktop\bjy_admin> git cherry -v
+ 768efaad0fd8762a15e8f213a014333e8d395825 搜索优化
发现只出现一次的说明?–待解决
- git log --author=“guanheng” -2(详解:https://www.jianshu.com/p/db3e5bd40d13) 查看提交t提交者姓名为管衡的近两次的提交记录(如果不限制次数会展示很多 退出展示按下Q即可)
PS C:\Users\Ayun\Desktop\bjy_admin> git log --author="guanheng" -2
commit 55e552c9f83a47fb28cd056eb61c495d28c4d69a (HEAD -> dev, origin/dev)
Merge: 768efaa 01536cb
Author: guanheng <guanheng@baijiayun.com>
Date: Fri Jul 26 13:43:40 2019 +0800Merge branch 'dev' of http://git.baijiashilian.com/zywx/bjy_admin into devcommit 768efaad0fd8762a15e8f213a014333e8d395825
Author: guanheng <guanheng@baijiayun.com>
Date: Fri Jul 26 13:42:02 2019 +0800<E6><90><9C><E7><B4><A2><E4><BC><98><E5><8C><96>
- 未提交的我发现没有什么可处理的 直接提交了:
PS C:\Users\Ayun\Desktop\bjy_admin> git pull
Already up to date.
PS C:\Users\Ayun\Desktop\bjy_admin> git status
On branch dev
Your branch is up to date with 'origin/dev'.nothing to commit, working tree clean
PS C:\Users\Ayun\Desktop\bjy_admin>
之前都是在克隆的公司的dev分支上进行操作 这次不同了:cause觉得
开发人员不会再dev分支上进行操作,一般会基于dev分支创建一个自己的分支,使用命令git checkout -b 分支名
PS C:\Users\Ayun\Desktop\bjy_admin> git checkout -b guanheng-search
Switched to a new branch 'guanheng-search'
早上有一次提交没有推送成功 后来强制拉取覆盖了 因为冲突太多~~ 现在决定找回之前的提交
- git reflog(git命令log与reflog的比较:https://blog.csdn.net/u013252047/article/details/80230781 )查看操作记录
- 补充:git reflog不但有版本提交历史(简要),还会显示分支切换操作历史,git pull的操作历史。
PS C:\Users\Ayun\Desktop\bjy_admin> git reflog
55e552c (HEAD -> guanheng-search, origin/dev, dev) HEAD@{0}: checkout: moving from dev to guanheng-search
55e552c (HEAD -> guanheng-search, origin/dev, dev) HEAD@{1}: pull --tags origin dev: Merge made by the 'recursive' strategy.
768efaa HEAD@{2}: commit: 搜索优化
b161a63 HEAD@{3}: reset: moving to HEAD~
54c4421 HEAD@{4}: commit: 搜索优化
b161a63 HEAD@{5}: pull --tags origin dev: Fast-forward
705dccb (origin/master, origin/HEAD) HEAD@{6}: reset: moving to origin/master
9a27df2 HEAD@{7}: commit: 添加点击搜索与
f035beb HEAD@{8}: pull --tags origin dev: Fast-forward
b651441 HEAD@{9}: pull --tags origin dev: Merge made by the 'recursive' strategy.
234914e HEAD@{10}: commit (merge): 优惠券
e4a73a2 HEAD@{11}: commit: banner与优惠券修改
30ae260 HEAD@{12}: commit: 优惠券详情
4b0ce29 HEAD@{13}: commit: 赠送优惠券
040fa24 HEAD@{14}: pull --tags origin dev: Merge made by the 'recursive' strategy.
0526116 HEAD@{15}: commit: 优惠券
- 然后找到被覆盖掉的失败提交:
PS C:\Users\Ayun\Desktop\bjy_admin> git reset 9a27df2
Unstaged changes after reset:
M src/components/Header.vue
M src/main.js
M src/router/operation.js
M src/utils/http.js
M src/views/Exports.vue
M src/views/Imports.vue
M src/views/finance/Order.vue
M src/views/market/card/StudyCardRecord.vue
M src/views/market/coupon/CouponManage.vue
M src/views/market/coupon/CouponPresent.vue
M src/views/market/coupon/CouponRecord.vue
M src/views/market/member/MemberCourse.vue
M src/views/market/member/MemberManage.vue
M src/views/operation/banner/Banner.vue
M src/views/operation/comment/CommentCourse.vue
M src/views/operation/comment/CommentTeacher.vue
M src/views/operation/message/Message.vue
M src/views/operation/news/NewsManage.vue
M src/views/setting/AccountNew.vue
- 查看一下哈
PS C:\Users\Ayun\Desktop\bjy_admin> git status
On branch guanheng-search
Changes not staged for commit:(use "git add <file>..." to update what will be committed)(use "git checkout -- <file>..." to discard changes in working directory)modified: src/components/Header.vuemodified: src/main.jsmodified: src/router/operation.jsmodified: src/utils/http.jsmodified: src/views/Exports.vuemodified: src/views/Imports.vuemodified: src/views/finance/Order.vuemodified: src/views/market/card/StudyCardRecord.vuemodified: src/views/market/coupon/CouponManage.vue
- 然后我暂存提交后又切换回dev分支了==
PS C:\Users\Ayun\Desktop\bjy_admin> git checkout dev
error: Your local changes to the following files would be overwritten by checkout:src/components/Header.vuesrc/main.jssrc/router/operation.jssrc/utils/http.jssrc/views/Exports.vuesrc/views/Imports.vuesrc/views/finance/Order.vuesrc/views/market/card/StudyCardRecord.vuesrc/views/market/coupon/CouponManage.vuesrc/views/market/coupon/CouponPresent.vuesrc/views/market/coupon/CouponRecord.vuesrc/views/market/member/MemberCourse.vuesrc/views/market/member/MemberManage.vuesrc/views/operation/banner/Banner.vuesrc/views/operation/comment/CommentCourse.vuesrc/views/operation/comment/CommentTeacher.vuesrc/views/operation/message/Message.vuesrc/views/operation/news/NewsManage.vuesrc/views/setting/AccountNew.vuesrc/views/setting/attribute/Attribute.vuesrc/views/setting/promission/Account.vuesrc/views/setting/promission/AccountEdit.vuesrc/views/setting/promission/Role.vuesrc/views/setting/promission/RoleEdit.vuesrc/views/setting/set/Bottom.vuesrc/views/setting/set/NavSetting.vuesrc/views/setting/set/WebSite.vuesrc/views/statistics/StatisticsCourse.vuesrc/views/statistics/StatisticsStudent.vuesrc/views/statistics/StatisticsTeacher.vuesrc/views/teach/CourseCatagory.vuesrc/views/teach/CourseChapter.vuesrc/views/teach/CourseEdit.vuesrc/views/teach/CourseList.vuesrc/views/user/Student.vuesrc/views/user/Teacher.vuesrc/views/user/TeacherCatagory.vuesrc/views/user/TeacherDetail.vue
Please commit your changes or stash them before you switch branches.
Aborting
PS C:\Users\Ayun\Desktop\bjy_admin> git add .
PS C:\Users\Ayun\Desktop\bjy_admin> git commit -m "show"
[guanheng-search 2adad03] show38 files changed, 132 insertions(+), 136 deletions(-)
PS C:\Users\Ayun\Desktop\bjy_admin> git checkout dev
Switched to branch 'dev'
Your branch is up to date with 'origin/dev'.
然后重复git reset 9a27df2 vscode恢复我的历史记录喽
无法推送
PS C:\Users\Ayun\Desktop\bjy_admin> git push
To http://git.baijiashilian.com/zywx/bjy_admin.git! [rejected] dev -> dev (fetch first)
error: failed to push some refs to 'http://git.baijiashilian.com/zywx/bjy_admin.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
PS C:\Users\Ayun\Desktop\bjy_admin>
错误分析:
远程分支上存在本地分支中不存在的提交,往往是多人协作开发过程中遇到的问题,可以先fetch再merge,也就是pull,把远程分支上的提交合并到本地分支之后再push。
简单说就是你的远程库里有了本地库没有的东西,需要先同步,然后才能把本地库内容推送到远程库里~
解决方案:
如果你确定远程分支上那些提交都不需要了,那么直接git push origin master -f,强行让本地分支覆盖远程分支。。。
PS C:\Users\Ayun\Desktop\bjy_admin> git pull
remote: Counting objects: 21, done.
remote: Compressing objects: 100% (21/21), done.
remote: Total 21 (delta 17), reused 0 (delta 0)
Unpacking objects: 100% (21/21), done.
From http://git.baijiashilian.com/zywx/bjy_admin55e552c..d436cf5 dev -> origin/dev
Auto-merging src/router/operation.js
Auto-merging src/main.js
CONFLICT (content): Merge conflict in src/main.js
Auto-merging src/components/Header.vue
Automatic merge failed; fix conflicts and then commit the result.
- 注:建议使用pull拉取最新代码,因为pull拉取下来后会自动和本地分支合并 建议使用fetch 具体操作见:( https://www.jianshu.com/p/4c1d3b741b19)
我发现用vscode的拉取功能会自动进入合并整理状态,
- 然后 git diff 即可开始查看不同修改提交
参考文献:git的常用命令及工作中冲突问题解决方法:
Henry前端笔记之 git实际操作问题记录相关推荐
- Henry前端笔记之 Node及npm相关
Henry前端笔记之 npm入门相关 NodeJs 简介: 1.Nod简介与概述: 2.交互式运行环境:PEPL 3.Node.js模块和包 3.npm包管理工具 npm简介详见:https://dk ...
- Henry前端笔记之 Date对象详解
Henry前端笔记之 Date对象详解 Date 对象 1 时间格式简介 2 Date.now 与 new Date().getTime() 的区别 3 Date对象详解 普通函数的用法 构造函数的用 ...
- Henry前端笔记之 函数封装
Henry前端笔记 (三)函数封装 基本函数 1 在Javascript中什么是伪(类)数组?如何将伪数组转化为标准数组? 时间戳转为日期格式 基本函数 1 在Javascript中什么是伪(类)数组 ...
- Henry前端笔记之 HTML相关
Henry前端笔记之 HTML相关 一些标签的使用,切记所有标签都需要闭合,不管是单体标签还是成对标签.(尽管目前浏览器是识别有些标签不闭合的情况,但是取的最好的保证兼容性,使用闭合) 标签写法要用小 ...
- Henry前端笔记之 宏观世界
Henry前端笔记之 前端资源整理 移动web资源整理 前端性能优化 web前端兼容性问题总结 大公司项目开发部署流程 css前端布局基础概述: 浏览器兼容 CSS编码规范 jss概念合集与好文收集 ...
- Henry前端笔记之 something about devtool
Henry前端笔记之 something about devtool 一篇就够之 Chrome DevTools(v57) 使用详解 精华之network详解 Vue :衡量 Vue 应用的运行时性能 ...
- Henry前端笔记之响应式布局与弹性布局
Henry前端笔记之响应式布局与弹性布局 弹性布局 Rem布局的原理解析(em 与 rem区别 ): rem如何实现自适应布局 使用CSS3 REM 和 VW 打造等比例响应式页面的便捷工作流 从网易 ...
- Henry前端笔记之 UI组件库中table与slot相关理解
Henry前端笔记之 UI组件库中table与slot相关理解 作用域插槽: 解构赋值基础:https://developer.mozilla.org/zh-CN/docs/Web/JavaScrip ...
- Henry前端笔记之 CSS相关
Henry前端笔记之 CSS相关 深入理解vertical-align和line-height的基友关系 深入理解vertical-align和line-height的基友关系 详见:基友理解 px. ...
最新文章
- 2020应届生「求职图鉴」,扎心了!
- 每日一皮:测试的时候一切ok,真正上线的时候……
- python真的好吗-python的缩进格式真的不好吗?
- photoshop cs5 中 复制图层的快捷键是那个?
- 空间谱专题13:联合解算DOA(ML/AP)
- Git图形化管理工具
- ASP.NET Core URL Rewrite中间件
- 易汉博承建的数据库再发Nature子刊
- 蚂蚁科技 Service Mesh 落地实践与挑战 | GIAC 实录
- codeforces 664B B. Rebus(乱搞题)
- 电子书 Java程序员面试宝典(第4版).pdf
- 在设计软件测试用例的原则,设计软件测试用例需要遵循的四条原则
- 一文了解DataStore(Proto)
- 爱的能力(徐博客写的-收藏下)
- python中endswith函数什么意思_Python中endswith()函数的基本使用
- 51单片机之模拟IIC总线
- VirtualBox 调整屏幕分辨率
- Java程序员掌握的Linux 基本操作
- Rust学习笔记(13)——struct、Option和Box组合应用实现单向链表
- c语言教学知识,C语言的编程教程_入门教学知识