Git冲突的解决措施及常用指令

Git冲突的解决

昨天提交代码,合并分支后发现运行时报错,说是view文件和url文件里部分代码产生冲突,是新写的和以前提交的合并起来产生了冲突,一时不知道怎么办才好,csdn了一些博客,给讲解了一些指令之类的,到了关键怎么解决冲突的问题上一带而过,又接着写下面的命令,当时临近下班挺急噪的,没稳住心态,越是慌乱越是解决不了,索性不写了,直接下班回家了。第二天早上来到静下心来去解决,我采取的是很方便但是比较笨拙的办法,我手动解决的,打开产生冲突的文件,将冲突的那行文字给手动删除了,然后保存重启服务器就可以了,我以为这就完事了,事实证明还是太天真,runserver是没问题了,但是输入url去访问页面时,又报了与数据库相关的错误,于是本能的执行python manage.py makemigrations和python manage.py migrate这两行语句,执行第一行还没问题,第二行就产生了“CommandError: Conflicting migrations detected; multiple leaf nodes in the migration graph: ().”这样的错误

上一次就是根据提示输入了merge这行指令,结果更难办了,于是开始谷歌怎么解决,看到一篇博客粘贴出了class Migration的代码,受到启发,找到报错信息后面括号里对应的文件,发现确实是有两个0157,还有两个0156,于是我又采取了笨拙的方法,给他们手动修改了文件名称,这肯定是不行的,因为Migration中要写紧邻着前一个生成的迁移文件,于是又依次修改了类里面的一些信,当然我把该目录下生成的merge.py这个文件给删除

心想,这下总该可以了吧?于是又执行了此migrate指令,你猜发生了什么?又报了这么个错(见下图)

说这个表已经存在?我赶紧把该表对应的迁移py文件删除了,但没用,依旧报错,于是csdn,看到一篇言简意赅的博客,执行“python manage.py migrate myapp --fake这行指令就可以了,说出来你可能不行,我真的就完全傻傻的执行了这行指令,细看有没有发现myapp不是myapp呀,它是指报错文件所在的app,哈哈哈也是被自己给蠢哭了,执行之后大功告成,可以顺利启动项目了

 

再插一个遇到的奇葩bug,给model添加一个字段,写的完全一模一样的一行代码,写在不同的model里,一行可以成功迁移,一行却报了语法错误,真是令人百思不得其解,于是重启服务器,你猜发生了什么?那个报语法错误的竟然也可以迁移了,真是不知道是什么原因

 

最后总结一下常用的git指令,虽然很多博客有专门写这样的总结,为了避免来回找,还是自己动手总结一下吧,昨天真的是虚惊一场,切换分支前将当前分支暂存了,然后又重新返回当前分支,竟然回归了原始状态,当时心都碎了,感慨这周的工作算是白做了,啥也不落,后来一想好像忘记将分支取出来了,于是开始搜索取出的指令,取出来之后就产生了前面所提到的各种冲突,解决bug的过程中意识到计算机可真是需要很强大的心理素质,不管遇到什么样的大bug都要稳住军心,自己不能心慌意乱,需要非常冷静的去寻找解决措施,去尝试各种解决办法,试一下又不会怎样,使劲尝试各种措施(我一般涉及到修改和删除文件都会先备份,以免造成不必要的影响),解决出来了也不能高兴的太早,要及时记录下来,在以后的生涯中说不准它又是不是的”骚扰“你呢?所以要记录下如何干掉它的全过程,于是乎就有了当前这篇博客,我准备在博客记录自己杀敌打怪的过程,记录如何战胜各路妖魔鬼怪的哈哈

注:红色标出的部分是遇到的bug,绿色部分是解决措施,而且均已加粗明显表示,方便直接查看重点,为了便于区分,红色字体已倾斜

Git指令

在博客上看到的一个很不错的图

Git常用指令
git status查看状态
git bb查看分支
git checkout 分支名切换到已存在的分支
git checkout -b 新分支名创建并切换到新分支
git add (文件路径)添加(指定路径)文件到仓库
git commit -m "改变的信息说明"提交到仓库
git push 仓库名  分支名:分支名提交到远程仓库并在远程仓库创建新分支
git remote -v查看远程仓库
git pull 仓库名 远程仓库分支名拉取远程仓库分支(将本地代码更新至远程仓库最新版本)
git fetch 仓库名 分支名:分支名拉取远程仓库分支(只更新远程仓库不更新本地)
git stash暂存分支
git stash list查看所有暂存的分支
git stash pop取出分支并删除
git stash apply取出分支不删除
git reset 撤销整体修改

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值