Git代码防丢指南
副问题[/!--empirenews.page--]
我们在一般行使Git的进程中常常会产生一些不测环境,假如处理赏罚不妥,则也许会呈当代码丢失的假象。本文将针对IDEA&Git一般开拓中的一些场景,为你层层拨开迷雾,理会常见的错误及其产生缘故起因,让你以后不再恐惊代码斗嘴或丢失题目。 为简化题目,本文假设全部团队成员均在统一分支上开拓。 文中更新操纵是指在IDEA中单击菜单VCS-Update Project...。 1. 常见事变流程 凡是当你早上到公司打开电脑,起首执行更新操纵(单击IDEA菜单VCS-Update Project...),然后开始舒畅地编码。编码完成后凡是要执行以下几个操纵:
1.1 更新操纵 为了担保Git拥有一个简捷的提交汗青,在提交之前必要先执行更新操纵,即在IDEA中依次单击菜单VCS-Update Project...,可能按下Ctrl+T,弹出如下窗口: 窗口左侧选择更新范例(Update Type):
窗口右侧选择在更新前事变目次(Working Directory)的整理方法:
凡是选择Merge和Using Stash即可,单击OK后,IDEA执行步调如下:
有些同窗也许更风俗先建设当地提交,然后在执行更新操纵,这样会导致Git自动天生一个归并提交,导致提交汗青不足简捷。 1.2 建设本次提交 更新完成后,在IDEA中单击菜单VCS-Commit...建设本次提交。 1.3 推送长途分支 然后单击VCS-Git-Push...推送至长途分支。 2. 常见题目说明 在上面的3步执行步调中,第2步和第3步产买卖外的风险最高,最常见的两种不测环境是斗嘴和文件占用,下面我们别离接头。 2.1 归并长途分支斗嘴 假如在执行更新操纵之前,你的当地分支已经建设过提交,而且尚未推送至长途分支,则在第2步执行git merge时很也许会产生斗嘴。 此时封锁上面的斗嘴窗口,Version Control器材窗口表现内容如下: 窗口右下角本来表现分支名称的位置酿成了Merging master,暗示当地分支master今朝处于正在归并状态。单击左侧红框内Resolve按钮可以再次调出处理赏罚斗嘴窗口。基于IDEA的图形界面手动办理斗嘴后,IDEA会自动将该文件插手暂存区(插手暂存区即暗示斗嘴办理完成),最后执行一次提交便可以完成斗嘴处理赏罚。 2.2 规复蕴藏斗嘴 在更新操纵的第3步执行git stash pop规复蕴藏时,蕴藏内容也许与刚更新的内容产生斗嘴。 规复蕴藏时产生的斗嘴跟上面的归并斗嘴轻微有些区别,起首是右下角的分支名称没有Merging字样,其它会在右下角特殊弹出一个小窗提醒规复蕴藏失败,而且汇报你不消担忧,全部的修改都在stash列表中,并没有丢失。查察stash列表的方法为单击菜单VCS-Git-UnStash Changes...: 选中列表最上面的条目,然后单击Apply Stash,之前的修改就会从头回到事变目次。 我们继承回到斗嘴题目,手动办理斗嘴后执行一次提交就可以了。假如在办理斗嘴进程中产生了误操纵,可以右击Default Changelist-Revert...清空当前事变目次内容,从头执行一次Apply Stash,然后一再办理斗嘴进程。 2.3 文件占用错误 在执行第2步git merge时,也许会由于文件被占用导致执行失败。譬喻项目也许引入了一些jar文件,这些jar文件在当地已经被JVM动态加载了,假若有其余人更新了该jar文件而且推送到了长途分支,当你更新时便会碰着上述题目。 对付这种错误的办理要领很简朴,起首扫除文件的占用状态,譬喻终止当地JVM历程,然后再次点击VCS-Update。 在执行第3步git stash pop时,也会由于文件被占用导致执行失败。譬喻你更新了某个jar文件,当规复蕴藏时也许由于该jar文件被占用导致规复失败。 对付这种错误,你必要起首扫除文件占用状态,然后手动执行unstash操纵。 3. 先提交照旧先更新?是个题目! 3.1 先提交后更新导致的题目 3.1.1 产生斗嘴时难以处理赏罚 (编辑:河北网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |