CN107918541A - 信息处理方法、装置、电子设备及存储介质 - Google Patents
信息处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN107918541A CN107918541A CN201711214669.0A CN201711214669A CN107918541A CN 107918541 A CN107918541 A CN 107918541A CN 201711214669 A CN201711214669 A CN 201711214669A CN 107918541 A CN107918541 A CN 107918541A
- Authority
- CN
- China
- Prior art keywords
- code
- branch
- code branch
- file
- current
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种信息处理方法、装置、电子设备及存储介质,涉及计算机技术领域。该信息处理方法包括:获取用户输入的用于将当前代码分支从第一代码分支切换至第二代码分支的第一切换请求;判断所述第一代码分支中是否有文件被修改;在为是时,在将所述第一代码分支的文件中的所有修改内容缓存于预设缓存区后,响应所述第一切换请求,将所述当前代码分支从所述第一代码分支切换至所述第二代码分支。该信息处理方法能实现代码分支的自动切换,并且保证代码修改内容不易丢失。
Description
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种信息处理方法、装置、电子设备及存储介质。
背景技术
在代码管理中,代码管理工具在以前通常是SVN工具,但是利用SVN工具进行代码托管的最大缺点是不同代码分支的代码是完整的拷贝,即如果代码存在两个代码分支,那么在本地其实是存在两个完全独立的工程的,这样对磁盘的占用就会非常大。
因此,目前的代码管理工具大多为Git工具,Git工具是在一套代码上实现多个代码分支的管理。因此,会出现代码分支切换时,代码分支的代码没进行缓存,或者缓存的代码没有进行回复,从而导致之前的代码分支的代码丢失的问题。
发明内容
有鉴于此,本发明实施例提供了一种信息处理方法、装置、电子设备及存储介质。
为了实现上述目的,本发明采用的技术方案如下:
第一方面,本发明实施例提供了一种信息处理方法,所述方法包括:获取用户输入的用于将当前代码分支从第一代码分支切换至第二代码分支的第一切换请求;判断所述第一代码分支中是否有文件被修改;在为是时,在将所述第一代码分支的文件中的所有修改内容缓存于预设缓存区后,响应所述第一切换请求,将所述当前代码分支从所述第一代码分支切换至所述第二代码分支。
第二方面,本发明实施例提供了一种信息处理装置,所述装置包括:请求获取模块、文件判断模块以及第一执行模块,其中,所述请求获取模块用于获取用户输入的用于将当前代码分支从第一代码分支切换至第二代码分支的第一切换请求;所述文件判断模块用于判断所述第一代码分支中是否有文件被修改;所述第一执行模块用于在所述第一代码分支中有文件被修改时,在将所述第一代码分支的文件中的所有修改内容缓存于预设缓存区后,响应所述第一切换请求,将所述当前代码分支从所述第一代码分支切换至所述第二代码分支。
第三方面,本发明实施例提供了一种电子设备,所述电子设备包括存储器和处理器,所述存储器存储有计算机指令,当所述计算机指令由所述处理器读取并执行时,使所述处理器执行上述第一方面提供的信息处理方法。
第四方面,本发明实施例提供了一种存储介质,所述存储介质中存储有计算机指令,其中,所述计算机指令在被读取并运行时执行上述第一方面提供的信息处理方法。
本发明实施例提供的信息处理方法、装置、电子设备及存储介质,通过获取用户输入的用于将当前代码分支从第一代码分支切换至第二代码分支的第一切换请求,然后判断第一代码分支是否有文件被修改,最后在第一代码分支中有文件被修改时,在将第一代码分支的文件中的所有修改内容缓存于预设缓存区后,响应第一切换请求,将当前代码分支从第一代码分支切换至第二代码分支。该信息处理方法可以实现对于代码的分支的自动切换,并且将所有的修改内容缓存于缓存区,以便于后续切换回之前代码分支时代码的恢复,从而可以解决现有技术中的分支切换会出现代码分支切换时代码分支的代码没进行缓存,从而导致之前的代码分支的代码丢失的问题。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1示出了本发明实施例提供的电子设备的方框示意图;
图2示出了本发明实施例提供的信息处理方法的流程图;
图3示出了本发明实施例提供的信息处理方法中步骤S120的流程图;
图4示出了本发明实施例提供的信息处理装置的模块图;
图5示出了本发明实施例提供的信息处理装置中文件判断模块的模块图.
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
图1示出了一种可应用于本发明实施例中的电子设备的结构框图。如图1所示,电子设备100包括存储器102、存储控制器104,一个或多个(图中仅示出一个)处理器106、外设接口108、射频模块110、音频模块112、显示单元114等。这些组件通过一条或多条通讯总线/信号线116相互通讯。
存储器102可用于存储软件程序以及模块,如本发明实施例中的信息处理方法及装置对应的程序指令/模块,处理器106通过运行存储在存储器102内的软件程序以及模块,从而执行各种功能应用以及数据处理,如本发明实施例提供的信息处理方法。
存储器102可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。处理器106以及其他可能的组件对存储器102的访问可在存储控制器104的控制下进行。
外设接口108将各种输入/输出装置耦合至处理器106以及存储器102。在一些实施例中,外设接口108,处理器106以及存储控制器104可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
射频模块110用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯。
音频模块112向用户提供音频接口,其可包括一个或多个麦克风、一个或者多个扬声器以及音频电路。
显示单元114在电子设备100与用户之间提供一个显示界面。具体地,显示单元114向用户显示视频输出,这些视频输出的内容可包括文字、图形、视频及其任意组合。
可以理解,图1所示的结构仅为示意,电子设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
第一实施例
如图2示出了本发明实施例提供的信息处理方法的流程图。请参见图2,该方法包括:
步骤S110:获取用户输入的用于将当前代码分支从第一代码分支切换至第二代码分支的第一切换请求。
在用户在对当前代码分支为第一代码分支处理任务时,需要将当前代码分支切换为第二代码分支处理某任务。此时,可以输入用于将当前代码分支从第一代码分支切换至第二代码分支的第一切换请求,以使电子设备在获取到用于将当前代码分支从第一代码分支切换至第二代码分支的第一切换请求对第一切换请求做出响应,从而实现代码分支的切换。
在本发明实施例中,获取用户输入的用于将当前代码分支从第一代码分支切换至第二代码分支的第一切换请求可以是在执行该信息处理方法时,获取用户输入的第二代码分支的名称,即用户在显示界面输入需要进行切换至的目的代码分支作为第一切换请求,以触发自动切换代码分支的操作,即以使在获取到该第二代码分支的名称后,执行后续切换代码分支的流程。
当然,在本发明实施例中,获取用户输入的用于将当前代码分支从第一代码分支切换至第二代码分支的第一切换请求的具体方式以及第一切换请求的具体形式并不作为限定。
步骤S120:判断所述第一代码分支中是否有文件被修改。
由于在切换代码分支时需要对修改的内容进行缓存,因此,在获取到用于将当前代码分支从第一代码分支切换至第二代码分支的第一切换请求之后,需要判断第一代码分支中是否有文件被修改。
在本发明实施例中,请参见图3,所述判断所述第一代码分支中是否有文件被修改,可以包括:
步骤121:获取所述第一代码分支的代码修改状态信息。
在Git代码管理工具中,可以利用“Git status”获取第一代码分支的代码修改状态。以用于后续对代码修改状态信息进行解析,判断第一代码分支中是否有文件被修改。
步骤122:判断所述代码修改状态信息中是否存在预设关键词。
在本发明实施例中,由于有文件被修改时对应的“Git status”命令输出的代码修改状态信息,与没有文件被修改时对应的“Git status”命令输出的代码修改状态信息不同,并且有文件修改时对应的“Git status”命令输出的代码修改状态信息中包括有固定的关键词信息,例如“modified”关键词信息。
因此可以判断代码修改状态信息中是否存在预设关键词信息,而预设关键词信息可以为,有文件修改时对应的“Git status”命令输出的代码修改状态信息中包括的固定的关键词信息,例如“modified”关键词信息。以用于根据代码修改状态信息中是否存在预设关键词信息的判断结果,来判定第一代码分支中是否有文件被修改。
步骤S123:在为是时,则判定所述第一代码分支的代码有文件被修改;在为否时,则判定所述第一代码分支的代码没有文件被修改。
可以理解的是,当步骤S120中判断结果为代码修改状态信息中存在预设关键词,则可以认为“Git status”命令输出的代码修改状态信息中包括有固定的关键词信息,因此可以判定第一分钟的代码有文件被修改。
当步骤S120中判断结果为代码修改状态信息中不存在预设关键词,则可以认为“Git status”命令输出的代码修改状态信息中没有包括有固定的关键词信息,因此可以判定第一代码分支没有文件被修改。
步骤S130:在为是时,在将所述第一代码分支的文件中的所有修改内容缓存于预设缓存区后,响应所述第一切换请求,将所述当前代码分支从所述第一代码分支切换至所述第二代码分支。
在本发明实施例中,当判断出当前代码分支即第一代码分支中存在修改过的文件,则表示这些修改过的文件未进行保存,也未对应有提交日志信息。
因此,为防止在切换代码分支时导致修改过的内容丢失,可以在第一代码分支中有文件被修改时,将第一代码分支的文件中的所有修改内容缓存于预设缓存区后,再将当前代码分支从第一代码分支切换至第二代码分支。
在本发明实施例中,在步骤S130之前,该信息处理方法还可以包括:
获取所有的提交日志信息;获取所述所有的提交日志信息中最近一条提交日志信息的第一标识码,并将所述第一标识码与所述第一代码分支的对应关系进行存储。
可以理解的是,在判断出第一代码分支中有文件被修改时,需要对所有修改的内容进行保存,而第一代码分支可能对应有多个版本的内容,因此需要对切换至第二代码分支前的第一代码分支的版本相关信息进行记录,以使后续将当前代码分支再恢复为第一代码分支时,对切换前的第一代码分支进行恢复,即不仅恢复已经存储的版本对应的第一代码分支的内容,还恢复缓存的修改的内容。
因此,可以获取切换代码分支前的最新的提交日志信息的第一标识码,以对切换代码分支前正处理任务的第一代码分支的相关标识信息进行获取,而获取的相关标识信息对应的第一代码分支的具体内容是已存储的。
在本发明实施例中,可以通过“Git log”指令获取所有的提交日志信息,每条提交日志信息中都有唯一的一串commit码与之对应,可以将commit码作为第一标识码,以对切换代码分支前的正处理的第一代码分支的版本的信息进行获取。
在获取到所有的提交日志信息中最近一条提交日志信息的第一标识码之后,可以将第一标识码与第一代码分支的对应关系进行存储,以便于后续切换回第一代码分支时,获知需要切换回的已经存储的第一标识码对应的第一代码分支。并且,第一标识码也可以用于在切换回第一代码分支时,以判断切换前的第一代码分支是否有修改内容,以确定是否有缓存内容,从而确定是否需要弹出缓存内容。另外,还可以作为判断从第二代码分支切换回第一代码分支后的第一代码分支的除缓存内容以外的内容,是否为将第一代码分支切换至第二代码分支之前的第一代码分支的除修改内容以外的内容的判断依据。
在本发明实施例中,预设缓存区可以为一个堆栈,具体可以通过“Git stashpush”指令将第一代码分支上的文件的所有修改内容全部缓存到一个堆栈中,以实现将第一代码分支的文件中的所有修改内容缓存于预设缓存区。在将第一代码分支的所有修改内容进行缓存后,再进行将当前代码分支从第一代码分支切换至第二代码分支的操作,以满足用户需要切换代码分支的需求。
在本发明实施例中,在所述判断所述第一代码分支中是否有文件被修改之后,该信息处理方法还可以包括:
在为否时,响应所述第一切换请求,将所述当前代码分支从所述第一代码分支切换至所述第二代码分支。
可以理解的是,在判定为第一代码分支中没有文件被修改时,则不需要进行缓存修改内容的操作,直接可以将当前代码分支从第一代码分支切换至第二代码分支,以满足用户需要切换代码分支的需求。
通常,在将当前代码分支从第一代码分支切换至第二代码分支后,用户在第二代码分支完成相应的操作后,还需要从第二代码分支切换回第一代码分支。
因此,在本发明实施例中,该信息处理方法还可以包括:
获取用户输入的用于将所述当前代码分支从所述第二代码分支切换回所述第一代码分支的第二切换请求;响应所述第二切换请求,判断是否存在所述第一代码分支对应的第一标识码;若是,则将所述当前代码分支从所述第二代码分支切换至当前代码仓库存储的所述第一代码分支,并将所述预设缓存区中的所有修改内容还原于当前代码仓库存储的所述第一代码分支。
可以理解的是,用户在需要将当前代码分支从第二代码分支切换回第一代码分支时,可以输入第二切换请求。然后对第二切换请求作出响应。由于在从第一代码分支切换至第二代码分支前,在第一代码分支有修改内容时获取了第一标识码,因此可以根据是否存在第一代码分支对应的第一标识码,以判断切换代码分支前的第一代码分支中是否有文件被修改,即判断出是否有缓存的内容。
在本发明实施例中,当存在第一代码分支对应的第一标识码时,则可以表示切换前的第一代码分支中有文件被修改,从而在切换至第二代码分支前,进行过将第一代码分支的文件中的所有修改内容缓存于预设缓存区的操作。因此,需要将预设缓存区中的所有修改内容还原于当前代码仓库存储的第一代码分支中。即在将当前代码分支从第二代码分支切换至当前代码仓库存储的第一代码分支时,不仅进行将当前代码分支从所述第二代码分支切换至前代码仓库存储的所述第一代码分支的操作,还进行堆栈中的所有修改内容还原于当前代码仓库存储的第一代码分支中,以满足用户的第二切换需求。
在本发明实施例中,当不存在第一代码分支对应的第一标识码时,则可以表示切换前的第一代码分支中没有文件被修改,从而在切换至第二代码分支前,没有进行过将第一代码分支的文件中的所有修改内容缓存于预设缓存区的操作,即预设缓存区中没有缓存的内容。因此,可以直接将当前代码分支从第二代码分支切换至当前代码仓库存储的第一代码分支,以满足用户的第二切换需求。
在本发明实施例中,在将当前代码分支从第二代码分支切换至当前代码仓库存储的第一代码分支之后,该信息处理方法还可以包括:
获取所有提交日志信息中的最近一条提交日志信息的第二标识码;判断所述第二标识码与所述第一标识码是否相同;若否,则将所述第一代码分支的头指针指向至所述第一标识码所对应的代码分支。
可以理解的是,第一标识码代表了进行切换代码分支前存储的正在操作的第一代码分支的相关版本信息,而在将第一代码分支切换至第二代码分支后,至接收到第二切换请求的过程中,可能会出现其他用户对第一代码分支中的文件进行操作的情况,导致对应的commit码发生改变,即当前的所有提交日志信息中的最近一条提交日志信息的第二标识码与第一标识码不同。另外,在进行切换回第一代码分支时,是切换至当前代码仓库存储的第一代码分支,因此,将当前代码分支从第二代码分支切换至当前代码仓库存储的第一代码分支,可能导致切换回的第一代码分支与进行代码分支切换前的第一代码分支的内容不同。
在本发明实施例中,判断当前的最近一条提交日志信息的第二标识码与第一标识码是否相同,从而根据判断结果,可以判断出在将第一代码分支切换至第二代码分支后,至接收到第二切换请求的过程中是否有其他用户对第一代码分支进行过操作。进一步的,当有其他用户对第一代码分支进行过操作,则需要将第一代码分支的头指针指向至第一标识码所对应的代码分支,以使切换回的第一代码分支的信息与进行切换代码分支前的第一代码分支的信息一致,即使从第二代码分支切换回第一代码分支后,第一代码分支的除缓存内容以外的内容,与从第一代码分支切换至第二代码分支前的第一代码分支的除修改内容以外的内容一致;反之,则不需要进行调整第一代码分支的头指针的操作。
从而,本发明第一实施例提供的信息处理方法可以完成代码分支的自动切换,并将所有的修改内容缓存于缓存区。可以将当前代码分支从第二代码分支切换回第一代码分支,并保持之前的第一代码分支的状态信息的还原,使进行从第一代码分支切换至第二代码分支的操作前的第一代码分支中未保存的修改内容进行缓存,并且在从第二代码分支切换回第一代码分支时,还原缓存内容。另外,可以保证从第二代码分支切换回第一代码分支后,第一代码分支的除缓存内容以外的内容,与从第一代码分支切换至第二代码分支前的第一代码分支的除修改内容以外的内容一致,实现第一代码分支的内容的完整的还原。
第二实施例
本发明第二实施例提供了一种信息处理装置200,请参见图4,所述信息处理装置200包括:请求获取模块210、文件判断模块220以及第一执行模块230。其中,所述请求获取模块210用于获取用户输入的用于将当前代码分支从第一代码分支切换至第二代码分支的第一切换请求;所述文件判断模块220用于判断所述第一代码分支中是否有文件被修改;所述第一执行模块230用于在所述第一代码分支中有文件被修改时,在将所述第一代码分支的文件中的所有修改内容缓存于预设缓存区后,响应所述第一切换请求,将所述当前代码分支从所述第一代码分支切换至所述第二代码分支。
在本发明实施例中,请参见图5,所述文件判断模块220包括状态信息获取单元221、关键词判断单元222以及判定执行单元223。其中,所述状态信息获取单元221用于获取所述第一代码分支的代码修改状态信息;所述关键词判断单元222用于判断所述代码修改状态信息中是否存在预设关键词;所述判断执行单元223用于在所述代码修改状态信息中存在预设关键词时,则判定所述第一代码分支中有文件被修改,在所述代码修改状态信息中不存在预设关键词时,则判定所述第一代码分支中没有文件被修改。
在本发明实施例中,该信息处理装置200还可以包括日志信息获取模块以及第一标识码获取模块。其中,日志信息获取模块用于获取所有的提交日志信息;第一标识码获取模块用于获取所述所有的提交日志信息中最近一条提交日志信息的第一标识码,并将所述第一标识码与所述第一代码分支的对应关系进行存储。
在本发明实施例中,该信息处理装置200还可以包括第二执行模块。第二执行模块用于在所述第一代码分支中没有文件被修改时,响应所述第一切换请求,将所述当前代码分支从所述第一代码分支切换至所述第二代码分支。
在本发明实施例中,该信息处理装置200还可以包括第二请求获取模块、第一标识码判断模块以及第三执行模块。其中,第二请求获取模块用于获取用户输入的用于将所述当前代码分支从所述第二代码分支切换回所述第一代码分支的第二切换请求;第一标识码判断模块用于响应所述第二切换请求,判断是否存在所述第一代码分支对应的第一标识码;第三执行模块用于存在所述第一代码分支对应的第一标识码时,则将所述当前代码分支从所述第二代码分支切换至当前代码仓库存储的所述第一代码分支,并将所述预设缓存区中的所有修改内容还原于当前代码仓库存储的所述第一代码分支。
在本发明实施例中,该信息处理装置200还可以包括第二标识码获取模块、第二标识码判断模块以及第四执行模块。其中,第二标识码获取模块用于获取所有提交日志信息中的最近一条提交日志信息的第二标识码;第二标识码判断模块用于判断所述第二标识码与所述第一标识码是否相同;第四执行模块用于所述第二标识码与所述第一标识码相同时,则将所述第一代码分支的头指针指向至所述第一标识码所对应的代码分支。
第三实施例
本发明第三实施例提供了一种电子设备100,请参见图1,所述电子设备100包括存储器102和处理器106,所述存储器102存储有计算机指令,当所述计算机指令由所述处理器106读取并执行时,使所述处理器106执行本发明第一实施例提供的信息处理方法。
第四实施例
本发明第四实施例提供了一种存储介质,所述存储介质中存储有计算机指令,其中,所述计算机指令在被读取并运行时执行本发明第一实施例提供的信息处理方法。
综上所述,本发明实施例提供的信息处理方法、装置、电子设备及存储介质,通过获取用户输入的用于将当前代码分支从第一代码分支切换至第二代码分支的第一切换请求,然后判断第一代码分支中是否有文件被修改,最后在第一代码分支中有文件被修改时,在将第一代码分支的文件中的所有修改内容缓存于预设缓存区后,响应第一切换请求,将当前代码分支从第一代码分支切换至第二代码分支。该信息处理方法可以实现对于代码的代码分支的自动切换,并且将所有的修改内容缓存于缓存区,以便于后续切换回之前代码分支时代码的恢复,并且可以将当前代码分支从第二代码分支切换回第一代码分支,并保持之前的第一代码分支的状态信息的还原。从而可以解决现有技术中的代码分支切换会出现代码分支切换时代码分支的代码没进行缓存,或者没有将缓存内容进行回复,从而导致之前的代码分支的代码丢失的问题。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种信息处理方法,其特征在于,所述方法包括:
获取用户输入的用于将当前代码分支从第一代码分支切换至第二代码分支的第一切换请求;
判断所述第一代码分支中是否有文件被修改;
在为是时,在将所述第一代码分支的文件中的所有修改内容缓存于预设缓存区后,响应所述第一切换请求,将所述当前代码分支从所述第一代码分支切换至所述第二代码分支。
2.根据权利要求1所述的方法,其特征在于,所述判断所述第一代码分支中是否有文件被修改,包括:
获取所述第一代码分支的代码修改状态信息;
判断所述代码修改状态信息中是否存在预设关键词;
在为是时,则判定所述第一代码分支中有文件被修改;
在为否时,则判定所述第一代码分支中没有文件被修改。
3.根据权利要求1所述的方法,其特征在于,所述在为是时,在将所述第一代码分支的文件中的所有修改内容缓存于预设缓存区后,响应所述第一切换请求,将所述当前代码分支从所述第一代码分支切换至所述第二代码分支之前,所述方法还包括:
获取所有的提交日志信息;
获取所述所有的提交日志信息中最近一条提交日志信息的第一标识码,并将所述第一标识码与所述第一代码分支的对应关系进行存储。
4.根据权利1所述的方法,其特征在于,在所述判断所述第一代码分支中是否有文件被修改之后,所述方法还包括:
在为否时,响应所述第一切换请求,将所述当前代码分支从所述第一代码分支切换至所述第二代码分支。
5.根据权利要求1或4所述的方法,其特征在于,所述将所述当前代码分支从所述第一代码分支切换至所述第二代码分支之后,所述方法还包括:
获取用户输入的用于将所述当前代码分支从所述第二代码分支切换回所述第一代码分支的第二切换请求;
响应所述第二切换请求,判断是否存在所述第一代码分支对应的第一标识码;
若是,则将所述当前代码分支从所述第二代码分支切换至当前代码仓库存储的所述第一代码分支,并将所述预设缓存区中的所有修改内容还原于当前代码仓库存储的所述第一代码分支。
6.根据权利要求5所述的方法,其特征在于,所述将所述当前代码分支从所述第二代码分支切换至当前代码仓库存储的所述第一代码分支,并将所述预设缓存区中的所有修改内容还原于当前代码仓库存储的所述第一代码分支之后,所述方法还包括:
获取所有提交日志信息中的最近一条提交日志信息的第二标识码;
判断所述第二标识码与所述第一标识码是否相同;
若否,则将所述第一代码分支的头指针指向至所述第一标识码所对应的代码分支。
7.一种信息处理装置,其特征在于,所述装置包括:请求获取模块、文件判断模块以及第一执行模块,其中,
所述请求获取模块用于获取用户输入的用于将当前代码分支从第一代码分支切换至第二代码分支的第一切换请求;
所述文件判断模块用于判断所述第一代码分支中是否有文件被修改;
所述第一执行模块用于在所述第一代码分支中有文件被修改时,在将所述第一代码分支的文件中的所有修改内容缓存于预设缓存区后,响应所述第一切换请求,将所述当前代码分支从所述第一代码分支切换至所述第二代码分支。
8.根据权利要求7所述的装置,其特征在于,所述文件判断模块包括状态信息获取单元、关键词判断单元以及判定执行单元,其中,
所述状态信息获取单元用于获取所述第一代码分支的代码修改状态信息;
所述关键词判断单元用于判断所述代码修改状态信息中是否存在预设关键词;
所述判断执行单元用于在所述代码修改状态信息中存在预设关键词时,则判定所述第一代码分支中有文件被修改,在所述代码修改状态信息中不存在预设关键词时,则判定所述第一代码分支中没有文件被修改。
9.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器存储有计算机指令,当所述计算机指令由所述处理器读取并执行时,使所述处理器执行如权利要求1-6中任一权项所述的方法。
10.一种存储介质,其特征在于,所述存储介质中存储有计算机指令,其中,所述计算机指令在被读取并运行时执行如权利要求1-6中任一权项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711214669.0A CN107918541A (zh) | 2017-11-28 | 2017-11-28 | 信息处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711214669.0A CN107918541A (zh) | 2017-11-28 | 2017-11-28 | 信息处理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107918541A true CN107918541A (zh) | 2018-04-17 |
Family
ID=61897035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711214669.0A Pending CN107918541A (zh) | 2017-11-28 | 2017-11-28 | 信息处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107918541A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109240743A (zh) * | 2018-08-03 | 2019-01-18 | 挖财网络技术有限公司 | 一种利用特定标签来进行代码切换的方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105094851A (zh) * | 2015-09-06 | 2015-11-25 | 浪潮软件股份有限公司 | 一种基于Git随时发布代码的实现方法 |
US9390124B2 (en) * | 2013-03-15 | 2016-07-12 | Microsoft Technology Licensing, Llc. | Version control system using commit manifest database tables |
-
2017
- 2017-11-28 CN CN201711214669.0A patent/CN107918541A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9390124B2 (en) * | 2013-03-15 | 2016-07-12 | Microsoft Technology Licensing, Llc. | Version control system using commit manifest database tables |
CN105094851A (zh) * | 2015-09-06 | 2015-11-25 | 浪潮软件股份有限公司 | 一种基于Git随时发布代码的实现方法 |
Non-Patent Citations (2)
Title |
---|
WITSMAKEMEN: "Git Stash保存临时修改用法", 《HTTPS://BLOG.CSDN.NET/WITSMAKEMEN/ARTICLE/DETAILS/22915491》 * |
罗力格、麦卡洛: "《Git版本控制管理:第2版》", 31 March 2015 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109240743A (zh) * | 2018-08-03 | 2019-01-18 | 挖财网络技术有限公司 | 一种利用特定标签来进行代码切换的方法 |
CN109240743B (zh) * | 2018-08-03 | 2021-07-27 | 挖财网络技术有限公司 | 一种利用特定标签来进行代码切换的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103842996B (zh) | 合并来自多个源的播放列表 | |
CN106126009B (zh) | 一种应用图标管理的方法、装置以及终端 | |
US8358842B2 (en) | Electronic device with function of separating panels of digital comic strip and method thereof | |
EP2811399B1 (en) | Method and terminal for starting music application | |
CN104615776A (zh) | 提供待展示信息的方法及装置 | |
CN104427098B (zh) | 一种信息处理方法、装置及电子设备 | |
CN104850848A (zh) | 照片分类方法及装置 | |
CN105373746B (zh) | 一种分布式数据处理方法和装置 | |
CN105677512A (zh) | 一种数据处理方法、装置及电子设备 | |
CN105095426A (zh) | 搜索结果处理方法及装置 | |
CN105183464B (zh) | 一种信息展示方法、装置及电子设备 | |
CN113301203B (zh) | 基于通讯录对历史信息数据进行更新的方法及装置 | |
CN104601535B (zh) | 视频处理方法和系统 | |
CN109618229A (zh) | 音视频的关联播放方法、装置、服务器及存储介质 | |
CN105808583A (zh) | 文件类型识别方法及装置 | |
CN107562372B (zh) | 一种电子设备及其数据管理方法、计算机可读存储介质 | |
CN101770371A (zh) | 应用主题内容预览方法及装置 | |
CN101278350A (zh) | 通过分割的特征比较而自动生成播放列表的方法和设备 | |
CN104881224A (zh) | 一种卡片的添加方法及装置 | |
CN106512405A (zh) | 一种虚拟对象的外挂资源获取的方法及装置 | |
CN107918541A (zh) | 信息处理方法、装置、电子设备及存储介质 | |
CN102819570A (zh) | 一种数据访问方法、装置及系统 | |
CN106293356A (zh) | 一种桌面布局换机方法及系统 | |
CN104834549B (zh) | 移动终端的应用程序文件更新方法及装置 | |
CN108881479B (zh) | 一种集成消息队列及消息管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180417 |
|
RJ01 | Rejection of invention patent application after publication |