暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Git 常见问题处理--持续更新

原创 远行 2023-07-17
1273

1、git pull 提交冲突问题

描述

error: Pulling is not possible because you have unmerged files.
hint: Fix them up in the work tree, and then use 'git add/rm <file>'
hint: as appropriate to mark resolution and make a commit.
fatal: Exiting because of an unresolved conflict.

原因

错误:无法提取,因为您有未合并的文件。
提示:在工作树中修复它们,然后使用“git add/rm<file>”
提示:根据需要标记解决方案并提交。
致命:由于未解决的冲突而退出。

解决

git add.
git commit -m "xxx"
git pull origin master
git add .
git commit -m "xxx"

2、git 本地强制覆盖

git fetch --all &&  git reset --hard origin/master && git pull
 
第一个是:拉取所有更新,不同步;
第二个是:本地代码同步线上最新版本(会覆盖本地所有与远程仓库上同名的文件);
第三个是:再更新一次(其实也可以不用,第二步命令做过了其实)
命令连接符 && 的意思是 前一条命令执行成功才执行后一条命令。

其实最基本的流程就是新建分支,在这个分支上改动代码,再提交上去,跟master分支合并。

  1. 新建分支
    首先,在你新建分支之前,你应该在master分支,并且要保证你当前的是最新代码,要不然就是找死,最后提交代码就会出问题。

git pull origin master ,在master分支下,保证当前代码与线上同步,是最新的
git branch <分支名> ,正儿八经的新建分支。
git checkout <分支名> ,切换 到新建的分支上,再进行下一步。
git push origin <分支名> ,把本地分支推到远端,让远端也有一个你的分支,用来后面提交你的代码。
新建分支并切换到该分支:git checkout -b <分支名>

  1. 提交代码
    在新建的分支上写完代码之后,就可以提交代码了。此时应该在你新建的分支上

git status ,查看自己写了哪些东西。
git add .
git commit -m ‘本次提交的描述(写自己的话,不要抄我的,哼!)’
git push origin <分支名> ,push是从本地向远端推代码,也就是把自己写的代码提交上去,像给老师交作业一样。
执行完上一步,有可能报错,此时淡定,不认识英语的话在线翻译是干嘛的,大多数时候提示你,本地落后于远端,(意思就是远端比本地多了一些代码,为什么会出现这种情况呢,肯定是你跟别人共用一个分支,他提交了一段代码到远端,所以导致你的本地落后于远端)既然落后了,那就把他更新成最新的呗,
git pull --rebase origin 远程分支名
执行完之后,你的代码就跟远端又一样了。并且你的修改仍然在,此时再提交你的代码
git push origin <分支名>
3.rebase代码
提交完代码之后需要让测试人员进行测试,若测试没问题,就可以rebase代码,然后上线了。(这一步是保证你要上线的代码是基于最新的master)

git pull —rebase origin <分支名>
git pull —rebase origin master
执行这两步的时候都有可能发生冲突,此时你要做的就是解决冲突,再继续提交。
解决完冲突之后,git add .
git rebase —continue
若此时还有冲突,继续解决,解决完继续执行1,2步。
若此时没有报错,git push origin <分支名>;(这一步必须在git pull —rebase origin master成功之后执行)
此时若显示,当前分支落后于master分支,则需要强推,git push -f origin <分支名>,若不报错,则rebase成功。
以上就是一个完整的流程,以下是一些常用的git操作
4.删除分支
删除本地分支 ( 切换到master分支之后再删除 )

git branch -d <分支名>

删除远端分支

git push origin --delete <分支名>

3.查看本地有哪些分支
git branch

  1. 切换分支
    git checkout <分支名>

5.如何从远程拉一个分支
当你跟别人共用一个分支的时候(有时候前端会共用一个分支),如果别人新建了一个分支(此时远端应该已经有了你们要用的分支),你要做的就是把远端的分支拉到自己本地。
git fetch origin <分支名>: <分支名>

6.合并分支
如果你基于主分支master新建了分支dev,再基于dev分支新建了一个分支test,在test分支开发完成后,需要将test合并到dev分支上。此时,先用git branch 查看自己在哪个分支上,然后git checkout dev(切换到需要合并的分支上),最后git merge test(在dev分支上执行这句,意思是将test合并到dev分支上)

最后修改时间:2023-07-17 19:04:33
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论