仓库初始化
在Git中,一条分支就是一条时间主线,时间线上的时间点就是每次提交的对应状态,在Git使用git init
初始化仓库后,只有一条默认的时间主线,其分支名为master
或者main
如:我新建一个名为【demo】的目录,使用git init
初始化仓库,即将demo目录下的文件状态管理交由git
在demo
目录下我们创建一个test.txt
文件,里面随意添加到内容
然后用git
提交到本地仓库
先git add
然后git commit
使用git branch
查看当前分支
可以看到当前只有一个主分支(注意:在仓库init初始化后,要先有一次内容提交才会创建分支,再用git branch
查看到当前分支,否则开始会看不到当前分支)
分支创建
方式1:git branch [分支名] 分支创建
方式2:git checkout -b [分支名] 创建分支并切换到新建的分支
切换分支:git checkout [分支名]
删除分支:git branch -d [分支名]
如:
分支合并
使用git merge [分支名] 可以将分支的内容合并
如:接着上面的例子,我们切换到dev
分支,然后在text.txt添加点内容,然后提交
然后切换到主分支master
可以看到切换到主分支后,刚刚添加的"word"不见了,这是因为我们刚刚是把"word"的修改添加到了dev
分支,主分支并没有
这时候我们将分支dev
合并到主分支master
分支合并后,就可以看到刚刚在dev分支的修改了
合并冲突解决
有时我们在合并分支时,会遇到有冲突的情况,即A分支刚刚提交了修改,B分支也提交了修改,这时候两者合并,就会产生冲突。
如:接着上面的例子
首先在test.txt文件我加上1111并提交到master
分支
然后切换到dev
分支,也添加一点内容到test.txt并提交
这时切换到master
尝试合并dev
分支
这时会告知合并分支时产生了冲突,打开有冲突的文件
这时候我们就要修改有冲突的文件,可以选择同时保留两个分支的内容,也可以选择保存某一个的内容,总之你重新修改后再次提交,就合并完成了
如,这里我选择保留两个分支的内容
修改后重新提交
这里就合并OK了