00:00
分支的切换。若要切换作业的分支,就要进行checkout操作。进行checkout时,Get会从工作数还原下目标分支提交的修改内容,Checkout之后的提交记录将被追加到目标分支。假定我们是从这里开始进行切换的分支,切换到分支之后我们进行。的提交都会追加到目标的一个分支。Hi。Hide指向的是现在使用中的分支的最后一次更新,通常默认指向must分支的最后一次更新,通过移动hide就可以变更使用的一个分支。啊,这个header。当前所在分支的最后一次更新啊,一般默认的话是指向master分支的最后一次更新,但是我们切换了分支之后,孩子的指向就会发生一个变化。通过移动这个hier就可以变更要使用这个分支。
01:03
来尝试一下如何切换分支。若要在刚才新建的。啊,这个分支进行提交。需要切换到这个分支。使用checkout命令。可以退出分支。并且切换到新的一个分支。来我们实际操作一下。首先。找到我们的这个版本库。数据库,本地数据库。在这里右键打开G的命令行。查看一下。当前分支的一个状态,可以看到当前所处的分支是must,使用get。Checkout加上我们要切换到的一个分支名。
02:00
就可以切换到这个分值。现在再来查看一下分支的一个状态。可以看到分支已经切换到。这个分支了。目前的历史记录就是这样子的,也就是海德现在是在我们新建的这个分支上面。另外还有一个小技巧。在使用切out命令的时候,如果我们加上杠B参数,再跟上一个新的分支名,可以创建分支并且直接进行切换啊,就是以当前我们所在的分支为基础,去创建一个新的分支,并进行一个切换。好。下面我们演示一下。Get checkout-B。Ise。下划线,Test。此时已经创建了一个新的一个分支,并且切换到了这个新的分支,我们查看一下分支的一个状态,Get b。
03:07
可以看到啊,不仅创建了这个分支,而且还自动帮我们切换这个分支,此时啊,我们在切换到这个分支吧,使用get。Get check out。SUE。一。好,查看一下当前分支的一个状态。可以看到又回到了这个分支,我们把这个没有用的分支进行删掉,Get br。BCH-D。Is。再查看一下分支的状态,就把刚才创建的分支给删掉了。我们还是处于这个分支,在这个分支下。
04:01
我们去修改一下文件的内容。并且进行一个提交。直接在这里面进行编辑。打开。修改一下文件的内容。写入啊这句话。保存退出。查看一下当前工作书的一个状态。STATOS。啊,修改了这个文件。加入到。索引区提交到。本地数据库。杠M。
05:04
添加。说明回撤。此时查看get的一个日志,可以看到有我们最新的一个提交。啊,因为我们是在这个分值,所以这次的提交是在这个分值下进行的一个提交,也就是这个历史的记录会被记录到我们当前所在的一个分支。那我们现在的历史的记录就是这个样子的。啊,Must的分支还处在这个位置,而。我们。这个新建的这个分支。已经向前多了一个版本。啊,一定要理解这个,因为我们当前是在啊这个新建的这个分支上进行了一次提交,所以这个提交啊会记录到我们的这个分支上面,如果我们此时回到啊must的分支去看它的这个。
06:01
呃,提到的一个历史的一个记录的话,是没有我们在这个他下面提到这个记录的,下面来看一下。Gate c e。切好吃。Must,我们来回到这个must分支。看一下must分支的一个提交的一个记录,是不是只有第一次提交的一个记录,对吧,我们在使用get。Check out。回到。这个分支啊,去看一下它的记录可以看到。我们之前在这个分支下提交的这个记录还在这里面。所以说啊,在当前。哪个分支下提交的记录啊,会被记录到哪个分支。接下来了解一下。啊,Stage暂存。我们当前工作区啊,如果还有未提交的一个修改的话。
07:01
也就是说。修改的内容还没有添加到这个赞成区,就是留在了索引区或者工作数的情况下,我们去切换这个分支的话,会把这个修改的内容啊,从这个现在的分支去去带到我们要切换上那个分支。好,那下面我们来看一下这句话啊。也就是说现在先看一下当前的一个工作数的一个状态。是干净的对吧。此时,我们去新建一个文件。a.T。来查看一下现在的一个状态,可以看到多了一个a.T。啊,此时我们如果。啊,不把它给提交到本地的一个数据库,就进行这个分支切换的话,会带着这个文件一同切换到其他分支的。看一下当前所处的一个分支,Getc啊,当前所处的这个分支,此时我们,嗯,这个工作区并不是干净的,我们直接去切换啊must分支。
08:09
来查看一下must的分支的一个啊,工作区的一个状态可以看到。我们在,呃。Is分支新建的这个A点文件跟着这个一块过来的,对吧,当前肯定是在must的分支的,我们来看一看是不是啊,这就是。啊,这句话的意思。我们如果有这个为。提交的一个内容,或者新添加的一些文件的话,此时切换的十分之修改的内容啊,会。就说从原来的分支移动到目标的一个分支。刚才演示的是新添加的文件的一个情况,也就是说如果索引区域有未提交的内容或者新添加的文件,我们进行切换分支的话,会连带着内容一块切换,切换到其他分支啊。那么还有一种情况就是。这个情况,如果我们啊对文件做了修改。
09:03
如刚好目标的分支也有相同的文件,也有修改的话,切out会失败,这个我们来演示一下。现在先回到。回到is分支。啊,接着把这个文件给删掉,先保证工作区的一个干净,看一下当前所在的一个分支,再看一下工作区好。这时候去修改一下啊,MY的内容,加上一句话,Hello,保存。这时候看一下工作区。可以看到有一个修改对吧,那。呃,我们这个时候如果要去切换到MAS的分支的话,它是不让我们进行切换的啊,因为在ma的分支也会有同样的一个文件,可能会被修改,我们来试一下get CK。
10:00
Must。啊,这里告诉我们,他说你有一个文件的一个改动。啊。就是不让你去进行这个切换的分支。他呃,会告诉你,你先进行提交你的更改或者进行啊,暂存在你就说切换完成之前。好,那么我们看到了这里对吧,了解一下他是做什么的啊。来看一下这个图啊,先看一下state是做什么的。呢,就是暂时保存修改的内容啊。它是临时保存文件修改的内容的一个区域,使用space可以暂时保存工作数和索引里还没有提交到数据库的一个内容,事后可以再取出暂存的修改啊,应用到我们原先的一个分支和其他一个分支上。比如我们来看一下这个图啊,现在啊,我们是在这个分支,如果我们想要退出去切换到其他分支的话。
11:05
啊,在不使用这个space的一个情况下修改的这个部分啊,可能会带着这一块来。啊,如果我们使用了这个space。可以先把我们这个修改的部分给放到这个赞成区啊,之后再进行一个切换,当当我们把修改的部分放到暂存区以后,我们的当前的工作数就是干净的,所以就可以切换到其他的目录。这时候啊,我们。来。这个例子已经演示过了。下面。来使用一下这个,呃,Get ST sh,先看一下当前的一个分支情况啊。还是处在这个分支,再查看一下当前工作数的一个。啊,状态。啊,有一个修改的文件,刚才也是了,不让我们切换,那我们使用get stage命令,就是把当前的这个分支里面的这个修改放到暂存区,好,他告诉我们啊,已经放到了一个暂存区。
12:07
此时我们再看一下。啊,工作区的一个状态,工作室的一个状态,可以看到是干净的了,对吧,这个时候我们就可以。去切换到其他分支了啊,并且切换到这个其他分支之后啊,当前水这分支切换到十分之后,其他分支的这个状态也是干净的好,那我们如果在这个must的分支处理完我们要处理的工作之后,想要回到原先的开发分支继续开发代码啊,再切回到原先的分支就可以了。那大家可能会有一个疑问,那我之前写的这个内容,我怎么还原呢使用。啊get啊,先看一下当前分支的一个状态吧,啊是干净的,那我如何还原我之前暂存的啊,我的修改的内容呢,可以使用get。
13:01
S。Sh pop把啊,最近一次暂存的内容给抛出来。诶,可以看到之前我们的修改就回来了,是吧,可以看到内容也是这个内容。好。呃,最后。我们使用一个命令啊,把这个。这个改动就是给放弃不要了,当然你也可以直接去删除这一句话啊,并且就把文件还原到最初的一个状态,我们可以使用一个命令,Get checkout fail。啊,Checkout后面如果跟了一个文件名,就是放弃对这个文件的一个更改。啊,如果是,呃,不是文件名,如果是写的是一个点的话,就是放弃对放弃对当前目录下所有的一个更改,我们先拿这个文件名做一个尝试。
14:00
回撤好可以看到。当前的一个状态,已经没有任何的啊。啊东西了,就是说是干净的工作区,可以看到之前写的这个内容啊。先把它关掉,再打开。啊,再看一下,就是说我们之前写的内容就是没有的了。啊,这是放弃更改,Get checkout后面跟文件的内容放弃更改,就是说get checkout,如果后面是跟分支名,我们是用来进行切换分支的,如果是跟了一个我们改动后的一个文件的话,就是放弃对这个文件的一个更改。好,再来查看一下这个状态之后发现啊,已经是干净的了。
我来说两句