Henry前端笔记之 git实际操作问题记录

在拉取后发现之前有未推送的更改

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					//没有待提交与暂存的修改
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 +0800

    Merge branch 'dev' of http://git.baijiashilian.com/zywx/bjy_admin into dev

commit 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'

早上有一次提交没有推送成功 后来强制拉取覆盖了 因为冲突太多~~ 现在决定找回之前的提交

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.vue
        modified:   src/main.js
        modified:   src/router/operation.js
        modified:   src/utils/http.js
        modified:   src/views/Exports.vue
        modified:   src/views/Imports.vue
        modified:   src/views/finance/Order.vue
        modified:   src/views/market/card/StudyCardRecord.vue
        modified:   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.vue
        src/main.js
        src/router/operation.js
        src/utils/http.js
        src/views/Exports.vue
        src/views/Imports.vue
        src/views/finance/Order.vue
        src/views/market/card/StudyCardRecord.vue
        src/views/market/coupon/CouponManage.vue
        src/views/market/coupon/CouponPresent.vue
        src/views/market/coupon/CouponRecord.vue
        src/views/market/member/MemberCourse.vue
        src/views/market/member/MemberManage.vue
        src/views/operation/banner/Banner.vue
        src/views/operation/comment/CommentCourse.vue
        src/views/operation/comment/CommentTeacher.vue
        src/views/operation/message/Message.vue
        src/views/operation/news/NewsManage.vue
        src/views/setting/AccountNew.vue
        src/views/setting/attribute/Attribute.vue
        src/views/setting/promission/Account.vue
        src/views/setting/promission/AccountEdit.vue
        src/views/setting/promission/Role.vue
        src/views/setting/promission/RoleEdit.vue
        src/views/setting/set/Bottom.vue
        src/views/setting/set/NavSetting.vue
        src/views/setting/set/WebSite.vue
        src/views/statistics/StatisticsCourse.vue
        src/views/statistics/StatisticsStudent.vue
        src/views/statistics/StatisticsTeacher.vue
        src/views/teach/CourseCatagory.vue
        src/views/teach/CourseChapter.vue
        src/views/teach/CourseEdit.vue
        src/views/teach/CourseList.vue
        src/views/user/Student.vue
        src/views/user/Teacher.vue
        src/views/user/TeacherCatagory.vue
        src/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] show
 38 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_admin
   55e552c..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的常用命令及工作中冲突问题解决方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值