最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • git的冲突解决

    正文概述 掘金(Grant_)   2021-02-06   454

    使用git命令提交代码时,经常会遇到这些报错,一开始不知道怎么解决,现在想写个笔记记录一下之后遇到方便查阅。

    git的冲突解决

    问题场景

    场景一:

    1. 当你commit完代码,push到远程后报如图所示错误,说明你之前已经push过代码了,远程和本地产生冲突
    2. 解决:ggpush -f 强制推送至远程,覆盖之前push的代码

    git的冲突解决

    场景二:

    1. rebase后报如图所示错误,这个是因为在切分支之前,没有pull更新本地代码,所以在修改相同的文件时,代码产生冲突。

    git的冲突解决 2. 解决: git rebase --abort 和 git rebase --continue

    • git rebase --abort 撤销rebase,会放弃合并,回到rebase操作之前的状态,之前的提交的不会丢弃;然后接着回到主分支pull 再rebase。
    • git rebase --continue 执行完git rebase feature/dice 之后,本地如果产生冲突,手动解决冲突之后,用"git add"命令去更新这些内容的索引(index),然后只要执行: git rebase --continue 就可以线性的连接本地分支与远程分支,无误之后就回退出,回到主分支上。

    补充

    git提交过程

    新建代码库:

    1. git init 新建代码库
    2. git init workspace 新建目录
    3. git clone 克隆项目
    4. git status 查看仓库当前的状态,显示有变更的文件。

    新建分支

    1. git branch -a 列出所有本地分支和远程分支
    2. git branch guanliping 新建分支,停留在当前分支
    3. git checkout -b guanliping 新建并切换到新建的分支
    4. git checkout guanliping 切换分支
    5. git push origin --delete 删除远程分支

    提交代码到远程仓库

    1. 在自己的分支将代码添加到暂存区git add . git commit
    2. git status 查看仓库当前的状态,显示有变更的文件。
    3. 回到主分支后git pull,更新远程代码
    4. 切换到新建分支 git rebase, rebase命令是为了防止主分支有更新,文件修改冲突
    5. 推送到远程ggpush

    超级好用到stash命令

    当你还在写代码,这个分支的需求还没完成,但是需要切一个新的分支或者切换到其他分支修复bug,这个时候本地代码还没有写完没提交怎么办?使用stash命令暂存文件。

    1. git stash 将不需要提交的文件暂存 = git stash push
    2. git stash list 展示stash列表
    3. git status push -m ‘test ’ 自定义message
    4. git stash pop 将暂存到文件恢复,将所需文件提交后执行这个操作 恢复
    5. git stash apply 0/1/2/3 暂存指定的索引到栈
    6. apply和push 都是恢复暂存时的状态 ,区别 :
      1. push 释放暂存内容,但stash列表中的信息会删除
      2. apply 释放暂存内容,但stash列表中的信息是会继续保留
    7. git stash clear 清空所有暂存记录

    常用命令总结

    1. git rm <文件>** 删除文件
    2. git rebase -i A  处理A之后的commit — 可用于删除中途某一次的commit
    3. git cherry-pick C 单独抽取c
    4. git config  设置用户信息
    5. git add || git add . 添加到暂存区
    6. git reset HEAD 撤销暂存区的全部文件或单个
    7. git reset A --hard. 回退到A
    8. 使用一次新的commit,替代上一次提交
    如果代码没有任何新变化,则用来改写上一次commit的提交信息
    $ git commit --amend -m [message]
    重做上一次commit,并包括指定文件的新变化
    $ git commit --amend [file1] [file2] ...
    9. git checkout - 切换到上一个分支
    10. git merge 合并分支
    11. git log 查看commit记录 git log -S 搜索某次commit
    12. git diff 显示区别  **git diff <文件>** 查看修改内容
    13. git fetch 更新远程
    

    这些是自己在工作中常遇到到问题和常用到的git命令,不同的项目和问题可能解决方法会不同, 具体问题具体分析。git命令行工具很强大,熟练使用是我的目标,将会继续的学习补充。


    起源地下载网 » git的冲突解决

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元