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实际操作问题记录相关推荐

  1. Henry前端笔记之 Node及npm相关

    Henry前端笔记之 npm入门相关 NodeJs 简介: 1.Nod简介与概述: 2.交互式运行环境:PEPL 3.Node.js模块和包 3.npm包管理工具 npm简介详见:https://dk ...

  2. Henry前端笔记之 Date对象详解

    Henry前端笔记之 Date对象详解 Date 对象 1 时间格式简介 2 Date.now 与 new Date().getTime() 的区别 3 Date对象详解 普通函数的用法 构造函数的用 ...

  3. Henry前端笔记之 函数封装

    Henry前端笔记 (三)函数封装 基本函数 1 在Javascript中什么是伪(类)数组?如何将伪数组转化为标准数组? 时间戳转为日期格式 基本函数 1 在Javascript中什么是伪(类)数组 ...

  4. Henry前端笔记之 HTML相关

    Henry前端笔记之 HTML相关 一些标签的使用,切记所有标签都需要闭合,不管是单体标签还是成对标签.(尽管目前浏览器是识别有些标签不闭合的情况,但是取的最好的保证兼容性,使用闭合) 标签写法要用小 ...

  5. Henry前端笔记之 宏观世界

    Henry前端笔记之 前端资源整理 移动web资源整理 前端性能优化 web前端兼容性问题总结 大公司项目开发部署流程 css前端布局基础概述: 浏览器兼容 CSS编码规范 jss概念合集与好文收集 ...

  6. Henry前端笔记之 something about devtool

    Henry前端笔记之 something about devtool 一篇就够之 Chrome DevTools(v57) 使用详解 精华之network详解 Vue :衡量 Vue 应用的运行时性能 ...

  7. Henry前端笔记之响应式布局与弹性布局

    Henry前端笔记之响应式布局与弹性布局 弹性布局 Rem布局的原理解析(em 与 rem区别 ): rem如何实现自适应布局 使用CSS3 REM 和 VW 打造等比例响应式页面的便捷工作流 从网易 ...

  8. Henry前端笔记之 UI组件库中table与slot相关理解

    Henry前端笔记之 UI组件库中table与slot相关理解 作用域插槽: 解构赋值基础:https://developer.mozilla.org/zh-CN/docs/Web/JavaScrip ...

  9. Henry前端笔记之 CSS相关

    Henry前端笔记之 CSS相关 深入理解vertical-align和line-height的基友关系 深入理解vertical-align和line-height的基友关系 详见:基友理解 px. ...

最新文章

  1. 2020应届生「求职图鉴」,扎心了!
  2. 每日一皮:测试的时候一切ok,真正上线的时候……
  3. python真的好吗-python的缩进格式真的不好吗?
  4. photoshop cs5 中 复制图层的快捷键是那个?
  5. 空间谱专题13:联合解算DOA(ML/AP)
  6. Git图形化管理工具
  7. ASP.NET Core URL Rewrite中间件
  8. 易汉博承建的数据库再发Nature子刊
  9. 蚂蚁科技 Service Mesh 落地实践与挑战 | GIAC 实录
  10. codeforces 664B B. Rebus(乱搞题)
  11. 电子书 Java程序员面试宝典(第4版).pdf
  12. 在设计软件测试用例的原则,设计软件测试用例需要遵循的四条原则
  13. 一文了解DataStore(Proto)
  14. 爱的能力(徐博客写的-收藏下)
  15. python中endswith函数什么意思_Python中endswith()函数的基本使用
  16. 51单片机之模拟IIC总线
  17. VirtualBox 调整屏幕分辨率
  18. Java程序员掌握的Linux 基本操作
  19. Rust学习笔记(13)——struct、Option和Box组合应用实现单向链表
  20. c语言教学知识,C语言的编程教程_入门教学知识

热门文章

  1. 【牛客网】树根与星际密码
  2. Java题目训练——星际密码和数根
  3. 反思 我和网站优化seo
  4. Windows远程桌面连接cpolar
  5. 泛微OA对接费控系统
  6. PROTEL99画异形焊盘
  7. Python输入三个值,判断是否为等腰等边直角三角形,求1+2N+3N+4N+5N...20N的和的两个程序代码
  8. 关于只读事务:@Transactional(readOnly = true)
  9. iptables nat及端口映射(转载)
  10. Pricing the future