粉丝1.4万获赞5.0万

哈喽,大家好,我是随风,欢迎大家上个美颜视频啊,那么今天这个视频呢,我们将一起来介绍一下如何在 ida 当中进行 get 代码的一个合并啊,以及碰到冲突的时候,我们怎么样去解决啊?怎么样去合并代码,对吧?那么这个呢,也是我之前的 ida 视频当中问的最多,或者说私信问的最多的这样的一个问题,对吧?今天就一起来给大家解答演示一下。 首先我们这个地方有一个非常简单的加法项目啊,然后接下来呢,我们来到 kte, 也就是远程仓库,在这里呢,我们就是想模仿一下,就是别人提交了代码,然后我们有冲突,怎么样去解决啊?我们点一下这个编辑, ok, 然后打开可能有点慢啊,然后我们就非常简单吧,就比如说在这个地方,我给他多来几行代码,把这个空行给他去掉,代码搞整齐一点,对吧?然后接下来呢,我们就写一下,比如说 fix 啊, at some line, 然后点击一个提交,提交完毕了以后呢,我们这个地方代码就产生了改变,然后接下来呢,我们再在本地啊,也对这个相同的区域啊代码搞一些提交, ok, 然后我们在这个的后面加上一个 logo, ok, 那么接下来呢,我们相当于本地开发完了代码,对吧?然后我们来做一个提交,首先我点击这个 commit, 然后选择我要提交的一个文件,然后写好注释,点击这个 commit and push 啊,它是一个快捷操作,就是你的 commit 和 push 可以一次搞定,对吧?然后我们点击这个 push, 那当我们去提交代码的时候呢, ida 给了我们这样的一个提示啊,就是你的 push rejected, 你的提交倍 拒绝了,什么意思呢?就是我们现在本地的一个代码和远端的一个代码可能产生冲突了,别人改了,你也改了,然后有一些内容是重合的,那么这个时候呢,你就需要去选择怎么样来处理这样一部分重叠的代码,对吧?你可以选择 cancel 啊,比如说你回到本地,你看一下你的哪些部分和别人是有冲突的,你看了一下线上的这个 代码,然后你本地做完修改再提交,这个是可以的。另外一种方式呢,就是比较快捷,就是 merge 和这个 rebase。 其实 merge 和 rebase 呢,都是去合并代码的一个操作啊,但是他们两个基于这个代码分支上面的一个操作呢,是有一点不一样的啊, rebase 可以理解成是叫变机啊。 如果说大家想更清楚的了解 merge 和 rebice 的一个区别的话呢,可以去看我之前的一个视频,讲的非常的清楚, ok, 那么这个时候呢,我们就选择 merge 啊,中间的这个也就是 idea 默认选中的这个,对吧?我们点击这个 merge, 点击完了 merge 以后呢,它 这个地方还是会有一个快捷的操作啊,就是 accept yours 还是 accept theirs 啊?就是我不用去看具体的内容了,如果说我这一部分代码就是扣 refill 的时候已经通过了啊,我就想用我的代码去覆盖远程的一个提交,我就 accept yours 啊, yours 就是你的嘛,啊,就是我自己的嘛,然后 accept theirs, 就是远端的那个人写的代码比我好,或者说大家公认的就要这么去写,那我就 accept theirs, 我就不需要看了,我直接用他的代码就可以了,对不对?如果说你们两个 啊,一个人改的是 a 方法,另外一个人改的是 b 方法,但是代码写着写着写着他的这个行数会串号,所以说这样也会产生一些代码的冲突的情况,对不对?所以说这个时候呢,我们就要去选择这个 merge, 通常我们还是选择 merge 啊,因为 merge 点开了以后呢,他会有这样的一个操作和确认的面板,给我们做第二次的一个确认。首先对于这个操作面板呢,我想讲一个非常 常有用的设置啊,就是这个地方啊,你可以看到,当我取消了以后呢,他这个地方展现的是所有的这个代码的内容,当你点选了他以后呢,他会只显示啊,你们两个冲突的那个部分的内容,对吧?就是他会把一些无关紧要的给你折叠起来, 然后左边的话呢,左边这个窗口是 your version, 就是你当前本地的一个提交,然后右边这个区域呢是 change from server, 就是远端的那个内容大概长什么样子? 中间的这个很好理解,就是左右两边左右互搏了以后啊,最终形成的一个结果就展示在中间,然后左边和右边呢,都会有这样的两个快捷操作,一个是叉叉,一个是 双箭头,对吧?叉叉的意思就是我不需要你这样的一个提交,我不需要你这样的一个内容啊,然后箭头的话呢,就是把你的这部分内容挪过来,哎,我们发现当我们把左边这个箭头点完了以后呢,左边就没有任 的这个快捷操作了,对不对?然后右边呢?还是剩下这两个快捷操作?如果说我们既想保留左边,又想保留右边,那么继续点这个叉叉,哎,右边的这个操作也会过来,对不对? 然后左右两边的这个操作都过来了以后呢啊,我们这个地方就可以点击这个 apply 了,对吧?然后大家会发现在左侧的这个底部啊,还是会有这个 accept left, 还有这个 accept right 这样的一个快捷操作啊,什么意思呢?就是当你发现很多的这个代码都会有那种变动,然后都是一些啊,完全可以接受的,或者说就想用某一个 这个版本的啊,比如说我就想用左边,那么你就可以看快捷的点这个 set left 啊,就可以了,对吧?然后呢,在你合并完了代码以后,如果说你对某一个部分有任何的一个想法啊,你都可以在这个地方去给他做修改这个 result, 这个地方他是可以去修改的啊,然后这些地方是改不了的啊,就是比如说你在左边, 在右边,他都是无法进行修改的,他们是一个指读的状态,但是在中间你是可以去修改的,对吧?然后任何时候,如果说你想要去进行撤销啊, ctrl z 都是可以用的, ok, ctrl z 都是可以用的,对不对?然后最后我们选择合并左边的一个代码, 右边我们就不需要了。点完这个叉叉,然后呢,我们点击一下这个 apply, 哎,你会发现当前我们就已经合并完毕了,对吧?然后我们再点击一下这个 push, 哎,他这个地方就会来一个 merge 啊, remote tracking branch 什么什么什么之类的,然后把我们本地的一个提交也放上去了,然后我们就点击一个 push, 哎, pose 完毕了以后呢,我们再来到这个 gate e, 然后刷新一下这个代码,我们会发现刚才我们本地的一些提交和变化都已经同步到了远端。 ok, 那么这个呢,就是一个非常简单的 idea 当中 gate 呃,产生 冲突,然后怎么样去和平代码的一个快捷操作了,对吧?好的,那么以上呢,就是本期视频的一个全部内容,如果大家觉得这个视频还不错的话呢,请帮忙点赞,投币分享,一键三连,支持我一下,如果你还没有关注我的这个频道,也请你点下关注啊,我这个频道是专注于程序员干货,视频教程分享,关于程序员身心健康的这样一个频道。 ok, 我们下个视频再见吧! peace。

当代码需要回退时,更多人的第一选择是使用 get reset, 点击 get reset 之后可以看到四个选项,这是 get reset 的四种模式, soft、 mixed、 hard, keep。 这期视频就来讲讲如何在 idea 中进行 get reset 操作才能最安全的进行代码回退。 要理解这四种模式,首先要理解一下 dc 运行过程中的几个不同的区域,在写代码的时候都是在工作目录中写的这块区域,英文名为 walking tree。 写完代码之后进行 get add 的操作,就可以把这些代码存入暂存区,这块区域的英文名为 index。 接着进行 commit, 就把代码放到了本地仓库,破取之后代码就来到了远程仓库。下面是一个例子, test get 文件提交了两次,第一次 提交写了一段文字,第二次提交又写了一段文字,接着我又往这个类中写了一段文字,单位提交。接着创建了一个新的文件,并通过 a 的命令加入到暂存区,此时工作目录和暂存区都有东西。 首先执行 soft 模式,回退到第一次提交,执行这个命令之后,害的指针会指向选择的这个提交,当前项目的文件是不会发生变化的。原来的这个第二次提交被放到了暂存区中,所以你可以看到这一次要抗病者的内容,多出了第二次的提交内容, 所以 soft 模式做的事情是不改变工作目录和暂存区,将被回退的提交放入暂存区。 接下来看看 mix 模式,我已经将代码恢复到了和刚刚一样的状态,执行 get reset mix, 可以看到 项目的文件依旧没有发生变化,只是暂存区空了,所有的变更包括第二次的提交内容都被移到了工作目录。 所以 max 做的事情是清空暂存区,将回退的变更和暂存区中的内容都放入工作目录。哈的是最好理解的,直接将黑的指针指向选中的提交,然后清空工作目录和暂存区,你可以看到所有的内容都没了。 最后是 keep, 这个命令不常用,目的是保留本地的变更,但会将已经提交的那些代码清空。 在这个例子中,第二次提交的内容已经不见了,但是本地的修改还在,所以 keep 的作用是保留本地的变更,清除被回退的提交记录。 不管用哪种模式,因为此时本地分支已经相比远程的分支落后了,需要通过 force push 才能将代码推送上去。最后对四种模式做个总结。以上就是本期视频的全部内容了,我是鱼仔,我们下期再见。

大家还记得这个黄色小箭头是哪里来的吗?对,就是这个装不出来插件。之前有路过一期关于这个插件的用法,主要功能就是通过拖动这个黄色小箭头来快速定位想要调试的那一行代码。那一期视频发出来之后,我也收到了不少网友提出的更好的解决方案, 比如直接点击就能跳,不需要插件。还有就是点击光标的小箭头,其实也就是 f 九的功能,也是可以直接实现的, 这些技巧也都是非常实用的,但大家都忽略了一点, jump tourne 这里还有一个更有用的功能,大家可以看一下这个插件的介绍,主要就是这句话,你相信你已经意识到了这个插件有更强大的功能,就是往回退,而且这个往回退跟我们上 一期介绍的 reset frame 还不一样。下面我们就来看一下这个插件的用法。先来回顾一下 reset frame 是怎么回退的。 首先第一点,我们知道这次航肯定是没有办法回退的,对吧?因为他是顶层的 frame 了,那这个时候往下执行,执行到这一行,这个时候会进入到一个新的函数里面去,这个时候就有两层 frame, 这个时候太太能回退,那我们执行两句之后,我们通过点击 reset, 这个时候这个函数里面执行的内容就全部会回推了,对吧?所以说 reset free 是有一定的局限性,那这个时候如果说我还想再向上回推怎么办?有办法吗? 这个时候其实 drop two line 这个插件强大之处就在于它提供了这样的一个功能,可以看到我只需要拖动它,对吧?按住 ctrl 我就要把它拖到最开始,这个时候他就回到了一开始刚进来时候最出奇的状态了,你看 a 和 b 线都还没有出来,对吧? 所以这个插件还是非常有用的,这样的话搭配 reset free 可以让我们在回退的操作上面变得更加的自由。好了,今天的分享就到这里,如果你觉得内容有用的话,三年支持一下。

今天讲一下怎么合并代码,首先我们就是在这个主干,然后修改代码,假设在这里修改代码,在主干修改了一行代码三个一,然后点提交 提交,并且剥削到远程仓库 不行,好,现在已经就是在主干修改了断码,并且就是提交到远程仓库,然后 在分支也修改代码,而且是在同一行修改代码,这个时候代码就冲突了。所谓的代码冲突就是在不同的分支,然后修改了同一行代码,然后这个时候就会出现代码 长度,然后我们提交 committed airports 到远程仓库 破洗,破洗成功,破洗成功之后,我们现在就是要合并代码,比如说我们现在要把这个分支的代码 刚才修改合并到主干去,然后先切回到这个主干,就是切到目标端的分支,就是主干的分支切完之后,然后就开始合并,右键项目, get 仓库墨镜改变,和平改变,然后选择 要把哪个分支合并到主干的,选这个远程的第一分支,然后点合并, 这个时候就会弹出一个界面提示冲突,然后这里是提示合并这个分支,第一位麦吉分支,第一位合并的这个 master 主干分支,然后哪个文件冲突呢?就是这个特色的冲突,刚才因为改了同一行代码, 然后怎么解决呢?就点这个妹子,或者直接就是双击这个文件就可以了,有哪些文件冲突,这些这里都会列出来,然后直接双击文件,就可以一个文件一个文件的去解决冲突,这里直接双击文件, 然后我们可以看到这里有三大块,左边的话就是 master 分支,我们修改了一行 内容,就是三个幺,右边的话就是 dev 分支,我们修改了一行代码三个 二,而且因为修改的都是同一行代码,所以这个时候就是冲突了,然后这里就飘红了, 这个红色的这个就表示冲突,然后现在怎么解决呢?就是要合并冲突,怎么合并呢?一个插一个箭头,箭头的意思就是 可以把这个左边的这个修改,然后合并到一道,就是移动到这个右边来,这里这个比照尔就是最终的合并结果,然后这个差的意思就是说不需要左边的修改,就是这个意思,那右边一样,右边的话如果移动就是把右边的这个 dv 分支的修改, 然后就是移动过来,如果插的话就是不要这个低于的修改。我们现在假设就是需要主干的修改,也需要低于分支的修改,那么就可以 首先点这个手动,这个都要手动去点,手动去操作的就是有多个冲突,那么就是每个冲突都要去一个一个的手动去点,然后直接点这个箭头就可以了,把这个主干的修改移过来,然后分支的修改 也可以移过来,如果不要的话就点那个叉,就是不要这个第一元的第一位的这个修改,然后全部都合并完了之后,这里就会提示这个所有的改变已经被处理, 点击这个保存改变完成合并,然后这里也会提示这里就是所有的程度都已经解决了,直接点这个保存改变完成合并就可以了。 两个文件被更新已经被提交了,现在的话就是最终的合并结果,就是已经包含了主干修改三个幺,然后第一位修改 三个二,就是包含了两个分支的修改的内容。刚才就是那个弹出那个,这下面的这个提示是指这个合并最终的结果已经可以的到本地仓库。然后最后还有一步就是把这个本地的提交修改和破洗到远程的仓库, 这里可以看到这个有个绿色的箭头,都表示本地有修改,但是还没有破鞋的人的仓库,所以就是点这里铺洗一下。 这里是刚才的 come 的,其实就是最终的合并结果,这里可以看到就是最终的合并结果,包含了主干修改和分支修改。然后左边是什么呢?左边就是左边就是主干的 最后一次修改的这个上一次修改,其实这个 id, 这个 id 可以跟这个远程仓库去比一下,就是这个 三四八 a, 这个和这个主干的,他的这个上一次修改是这个特色。这里这里是最新一次修改,就是我们加了这个银行代码,就是三个一的这个, 然后这个的话是之前合并的这个就不算了, 这之前就是操作了另外那个,然后这个就不算了, 就是当前这个文件,就是那个 test 点加吧这个内文件, 他的上一次的这个修改就是这里,我们看这个 id 五九八六八 五九八六八一二一二,这个 id 应该是这样子,应该就是说这里比较是这个贴纸的点加网,然后这边的话是最终的和平结果左杠修改了这个三个幺,分支修改了这个三个二,然后左边的这个是什么意思呢?是什么东西呢? 我们要看这个,就是看这个提交 id, 这个 id 是这个,但是具体是什么?具体他其实是指这个 ts 的交往这个文件的最后一次提交的上一次提交最后一次提交是提交的这个在主干提交的三个一嘛,就他的主干最后一次提交是三个一,然后这个三个一 的上一次提交就是这个提交 id 五九八六八。我们就是进到这个主干的这个陌路上面去,然后看找到这个特种点,加我这个文件 点进去,这个是最后一次提交就是三个一。在主干可以看到这个历史提交他的最后一次提交的上一次提交就是这个五九八六八,然后这一次呢是合并的,他就不算, 所以这里的代码就是 主干的最后一次提交三个一的上一次提交就是这个主干的最后一次提交三个一是这个就是七 a、 e、 f、 d、 七四, 他的上一次提交是这个五九八六八,五九八六八这个,然后直接就是知道这个,这个这个 最终合并结果,然后就是改了什么内容,就是看一下了解这个,理解这个之后, 然后最后就直接破洗好,现在就是破洗成功的到远程仓库。刚才是合并的这个,就是把这个第一位分支合并到主干来了,点进去看一下,现在这个主干最终的单码就包含了三个幺, 主干修改三个二,分支修改合并成功,然后解决这个冲突也成功。好,谢谢。

假设有个需求即将上线,所有的代码都已经提交到 master 分支,突然项目经理说有一个需求不用上了,但是在你这个代码之后,已经有其他人也合并了他们的分支,这个时候你会怎么去回推代码? 是手动删除代码还是 research 回退后重新合并分支?在这里最合适的方法是使用 get revert。 在 idea 的 get log 记录中有这样一个选项叫做 revert commit。 revert 的作用是撤交某一次提交或者某几次的提交,然后用一个新的提交来覆盖掉之前的提交。 模拟上面的这个场景,比如我现在对某个类做了第一次变更,然后进行了一次代码的提交,并推送到远程分支,接着又进行了第二次代码提交,同样推送最新的代码到远程的分支。这个时候其他人合并了一个新的 比较进来, 现在分支上一共有三次提交, 这个时候突然被告知第二次提交的这块代码不用上线了,于是需要将这次提交回退,只需要在 get 的 log 记录中找到想要撤销的那次提交,选择 reverse commit, 相当于这一次的提交就被撤销了。 get reverse 的好处在于,即使代码已经回退了,但是所有操作记录都还在。 reverse 的实现是通过逆向生成的方式进行代码的回退,比如增加代码就变成了删除代码。 这个时候项目经理又说,刚刚的代码还是一起上线吧。如果用手动删除代码的方式,现在就傻眼了。用 revert 的话,只需要对 revert 的这次提交再进行一次 revert 即可。可以看到代码又回来了,如果是多次提交同时 回退,只需要选中多个,然后执行 revert commit 就可以了。下期视频再来讲讲很多人用的更多的 reset。 以上就是本期视频的全部内容了,我是于宅,我们下期再见。

今天我们来讲一下阿迪尔这个变异报错的问题,主要是这个 g d k 版本的问题。首先我们来看一下,就是执行的时候,然后报的这个变异错误,就是这个 g d k 版本不对,然后怎么解决呢? 主要是这里要设置一下这个版本,这个版本是有问题的,不对的点到这里来,然后就可以看到这个加瓦这个变音器,这里这里这里这个版本是是七,然后把它改到八就可以了。 点应用我们再来试一下。好,现在可以就是变音通过,而且也执行成功了。最后我们来总结一下,就是除了刚才那个地方,可能是那个地方的那个解决一百分之问题,还有 另外一个地方就是右键项目,然后点这个 oppo 模块设置,然后找到这个模块,这里这里也有这个 gdk 版本,也有可能是这里有问题。 然后还有一个是这个项目,这里这个是这个版本,然后这个是这个版本,如果是出现这个阿迪尔里面,然后出现这个就这个版本的问题,就是这几个地方,看一下是不是你想要的那个版本,基本上就可以解决这个问题了。好,谢谢。

今天讲一下怎么合并代码,把分支的代码合并到主干。怎么合并?因为我们平时在工作当中一般就是在 dv 分支,就是开发,开发完了之后需要把这个 dv 分支代码合并到这个主干去。首先我们就是 特殊的三创建, 然后把这个修改提交到远程仓库, 破洗破洗成功,已经把这个刚才本地修改提交到这个 d e v 的这个远程仓库去了,然后现在就是要合并,怎么合并呢?就是先要把 这个分支切到这个目标端,就是马斯特,因为我们是要把这个元端 dv 这个分支合并在这个目标端。马斯特分支 第一步就是切到这个目标端的分支去切,已经切过来了,现在是马氏的分支,然后这里是没有刚才创建的文件的, 刚才那个二和三特色的文件都是在分支创建的,而且怎么合并呢?右键 get 仓库,点这个 mergee 合并改变。这里最重要一点就是看这里 分支需要合并,就是哪个分支需要合并哪个分支呢?就是 dv 分支,这里选远程的这个 dv 分支仓库,就是选这个原端的这个分支,就是 dv 开发分支, 然后点这个合并,两个文件已经被更新,并且已经被提交到马斯的分支,这个 come 的是只提交到这个本地的这个仓库,然后查看改了什么东西,直接点这里就可以了, 刚才是创建了一个这个特色的三,之前我们还创建了一个特色的二,就是创建了两个这个内文件, 刚才只是坑命的到本地仓库。然后最后一步就是要把本地仓库提交,复习到远程仓库, 直接点这里就可以看到这个有绿色这个箭头,其实就是表示本地有修改,其实就是刚才合并过来的大码。我再点一下这个破鞋也一样,这个有这个绿色的这个箭头提示直接点这个破, 就是刚才在 dv 分支,然后提交了这两个类文件已经合并了主干的, 然后把这个修改剖析到远程章过去,直接点剖析剖析两个提交本地提交,然后到这个远程章过去已经成功了,这个是主干特色的,三是没有二和三这个特色的文件的, 刷新一下就可以看到现在已经成功的把这个文文件合并,并且就是剖析到这个远程仓库来了,主干是这个。好的,谢谢。

凯迪亚常用快捷键之撤销与反撤销之前有小伙伴在评论区留言说撤销了之后怎么再把它找回来?在这里埃迪亚提供了一个快捷键, 我们可以使用 ctrl c 来表示撤销,然后使用 ctrl shifter c 表示反撤销。在这里我们有一个弹幕作为演示一下。我这里删除了第二十二行代码的一个日志打印,然后我们按住 ctrl c 把它给 找回来。我们表示这个时候,哎,我不想删除这一行代码,而如果突然过了一会,我觉得,嗯,这行代码是应该删除,我们可以按这个 shift z, 然后再把它给反撤销刚刚的行为。 然后我们还可以在 adidas 这个选项卡中可以看到,在这边它会提示 ctrl z 和 crochet shift z 的一个 onto 和 redo 的标志。

不是,哥们,你怎么把我的代码给合并了啊?有吗?我看看,你赶紧给我找回来。我以为这段代码没用了,就顺手合并了。没用,这可是实现核心功能的代码呀,你赶紧给我找回来。 哎呀,找回多麻烦呢,你重新写一个呗。再写一遍。你知道再写一遍花多少时间吗?我已经很忙了,哪有时间给你找回来呀。不行,你今天必须找回,不然这活没法干了。 我真没空了,你自己想想办法,你找不找?你不找,出了问题你自己背锅。我不找,反正是你自己负责的工人密码啊。

代码回滚后想重新上线,千万别直接墨迹,因为 git 会告诉你 already up to date, 你 的新代码一行都上不去。为什么?因为 git reward 本质上是一个新的 commit, 它明确记录了我不要这段代码了。当你再次墨迹时, git 会尊重你的,不要自动跳过这些变更。你以为是合并,其实是空操作,怎么就必须用负负得正大招 找到上次回滚的 kimi 的 id, 对 他再执行时, word 把撤销给撤销掉,让代码死而复生,然后再去合并最新的 hotfix。 记住,在 get 里没有撤销,只有抵消。不懂这个逻辑,你永远修不好现场事故,这个回滚坑你踩过吗?

a d e a 里有两个插件,我敢说装上当天就能省你半小时。先说 get to a box 写代码最烦的是什么?这行谁改的?为啥改?什么时候改?装了它?你在编辑器里直接看到每一行的最后修改时间和作者定位责任追溯改动,不用来回点 get 界 面,再加上增强的 blime 和状态提示,排查线上 bug 或者回滚时真的快很多。第二个是 spring boot assistant 些, spring 配置最怕拼错 key, 写错层级,找不到配置对应哪个类,它会给你 application, uml, properties 等智能股权提示和跳转。常见的 spring 配置基本都能少踩坑,尤其项目一大,配置一多,体验提升。

我们再来看一下这个第二个问题啊,就是如何解决我们这个冲突。解决冲突的话我们先看一下这个冲突是怎么发生的。比如说我们现在的话有一个远程的,当然就是在这个远程的话,大家就是把这个当做是一个人,就是一个张三条代码。好比如说这个张三的话 把第一行代码改了,就是两个人对同一行代码做了更改的话,就会产生冲突,就是他改了,你也改了,这时候的话,就比如说张三的话,这边的话张三然后一一好,这时候改成张三一一了,他就被我们提交了 好比如比如说现在这个李四的话不知道我们继续啊,就是在这面好,这个他还以为是这个,然后他不知道这边的话他他也改了。这边的话李四,比如 改的东西就是第一次好,然后把它改成二二了,好这首吗?然后他保存,然后改成嗯爱的的,然后把他也提交了 修改啊,修改了,修改之后他做了一下 gettypose 好,然后更新远程的一个代码,好,这时候的话大家可以看到就发生了我们这个冲突, 他说哪个文件发生冲突好了,我的他们就是看一下这个好,这边的话他就产生了这个冲突。大家可以看到 这个冲突的话就是说前面这一部分就是焊的,后面的这一部分的话就是你自己的一个修改隐私的一个修改,然后后面的这个抖号,后面的话就是说 是一个远程,你更新过来给他一个冲突,比如说我们现在的话解决冲突要么你就要这个理思性过来的,要么就要你自己的,我们首度解决一下,如果说两个都要的话,你就把中间这些东西全都删掉,然后把它保存。如果说只要一个的话,那你就比如说不想要 张三的话,你就把它删掉,然后把你的提交,如果两个都要的话就保留,然后改成我们看一下啊。好,这首话他说改了,我们给他提交一下吧,改成 app 解决冲突,然后的话贴这 pose, 我们 pose 一下,然后把东西提交到远程仓库。好,这边的话也 应该就改了。好,这时候还就要的意思,我们再给他铺试一下,应该是最新的。好,这时候的话冲突就已经解决了。我们再来说一下怎么样回退到指定的一个版本,比如说我们现在的话修改一个文件吧,就是这面再添加个都行。 嗯,贴啊一好,这时候我们把东西都已经提交了,给拆 add 吧, 这边只有随便选的东西, 然后的话这时候的话已经提交到本地仓库了,比如说我现在回推的话,用这个该车提高的车,尴尬肯定是回推不了的。我,我想回推到之前那个版本,怎么回推呢? 看一下啊,现在提交记录, 我们用这个面来看一下, 当前这个就是我们刚刚写的这个被褥,随便写的,就是当前的害的所在位置,就是最新的一个 一次提交的一个记录。好,我们回到上一个版本的话,我们就可以直接输入他或者是我这边也给大家写了,就是我们需要指定回到指定的版本的话,我们就可以跟一个 就是当写 ad 的一个名字,或者比如说你想回到这边这个提交记录的话,你就写他,比如说 get breathe santa, 然后的话 hadrd 把这个名, 然后把它跟上,然后就可以回到我们这个对应的一个就是提交的一个记录,比如说我们回头的他的话就直接输入他就可以了,一个杠杠,然后大家可以看到现在的话就回到这个版本了, 我们看一下啊,就是说他现在的话已经大家看啊,就是之前这个风质指向的话就是备注是 ss 这个,但是现在的话他说已经更新到这个哈喽沃的,就是更新了哈喽沃的这个版本之前了。好,那那我们怎么样回去呢?就是我 这首的话,大家可以看到就是之前我们这个提交的这个季度已经没有了,我们怎么回到之前那个版本呢?我们这边的话给他给我们提供了一个,就是我们可以用 refer 这个的话就可以看我们这个提交的就是我们执行的一些命 你的一个记录。好,这时候大家可以看到,就可以看到我们这边执行的所有命令,我们做哪些提交原始的是什么啊之类的,都会有这个分支的一个版本号,我们只需要把这个版本号说一下就可以了。 比如说我们之前的话那个版本的话应该是多少了?应应该我们知道的话,就是如果说没有关屏幕的话,我们就可以直接输入他就可以了,如果说我们关了屏幕的话,我们就在这边找一下就可以了, 我们就在这边的话就可以找到他的一个就是之前的一个版本的一个季度,我们还记得就是他这个,这一次提交的一个季度就是 ss, 然后对应的版本号就是他不是说我们没有了就可以用这个命令,然后 get 有钱财,有钱财 然后的话把这个输进去,好,这时候的话他就又回到了之前那个白本,这就是他的一个白本的回退。

你还在用最原始的方式挑 spring 问题吗?报错一出来,先打断点,再翻日记,最后怀疑人生。我最近在用一个插件 spring debugger, 做 spring boot 开发的时候调试效率直接拉满它最爽的点是什么?就是能帮你更直观的看清 spring 里面那些最绕的东西,并注入到底成没成功, 依赖链路怎么走的请求流程卡在哪一步一眼就清楚。以前排一个问题,来回切代码,打日期,打断点,半天找不到原因,现在很多问题,打开一看,哪个配置没生效,哪个并没装配,哪个调用走偏了,很快就能明白。 尤其你项目大模块多的时候,这种插件真的太香了。说白了,他不是替代你调试,而是让你调试更快更准更清楚。如果你平时写 spring boot 比较多,听我的去装好工具的价值就是让你少加班。

兄弟们,这两天设计师离职删掉一百这原文件,这件事和程序员离开公司删代码的概念是一样的,一般设计师合同最后都会标注乙方在职产出都属于甲方,最多会剩一个署名权,著作权基本都属于甲方的,不过方案的创意灵感会视情况而定,归属给乙方, 在公司内部的产出就属于公司的财产。删除这件事确实属于破坏财产行为。合并图层这个事呢,从一定角度来说也算破坏了,但我遇到比这个更恶心的事,就是当时老员工离职的时候,交接文件非常规范, 后来新员工进来以后,就拿着人家老员工的方案微改,然后做体验,拿着高薪,最后还吐槽人家方案做的很垃圾这个事实在是太败人品了,所以没过多久就把它开掉了。呃,后来发现他走了以后 并没有操作合并图层,就是把原文件里面所有的图层编组取消了啊,也算是个老六,你还输不了什么。这种确实也算不上破坏, 如果你是企业的管理者,相信你一定有做出不合理的地方。而对于设计师来说,当今的法治社会,大家还是要分清主次设计的圈子呢,并不大,没必要大家多把路堵死,抱团取暖,才能在寒冬中生存下去。