问题描述:我们知道在进行版本控制新建分支时,是从现有分支的基础上“复制”一份给新建的分支,所以此时两者完全相同,那么在新建分支上切换版本或者修改文件,会影响源文件吗,还会影响原分支吗?
现有一个文件hello.txt被git进行版本控制,原分支为master,现新建分支hot-fix
切换到hot-fix分支
在hot -fix分支下源文件hello.txt在最新版本third commit的内容如下:
现将其切换到初始版本first commit,内容如下:
从上图可知,如果在新建分支上切换版本,那么也会影响到源文件hello.txt的内容
现将通过hot-fix修改hello.txt中内容,并且提交到库,修改如下:
此时hello.txt的源文件内容为:
两者相同,所以也会影响源文件
再将分支切换到master,此时查看hello.txt文件内容:
发现源文件hello.txt文件的内容还是master分支中third commit版本的内容,所以可以得出以下结论:
版本控制工具切换同一个分支的不同版本,只是将分支的指针指向了该版本,此时切换的版本文件会“覆盖”切换前的源文件,所以文件内容会跟着版本变化。
版本控制工具一个分支修改文件,创建不同版本不会影响到其他分支的“内容”,各个分支之间保持独立,互不影响。所以如果想要将其他分支的内容合并到某一个分支时,需要使用命令进行合并。