深圳做夜场做网站,呼和浩特网站建设电话,重庆建设厂历史,长兴县住房和城乡建设局网站GIT | 分支 文章目录 GIT | 分支创建分支合并分支删除分支合并冲突分支管理策略bug分支强制删除分支 创建分支
查看当前本地仓库中有哪些分支
git branchHEAD所指向的分支就是当前正在工作的分支
cat .git/HEAD创建一个分支
git branch dev创建好了#xff0c;但是目前还是…GIT | 分支 文章目录 GIT | 分支创建分支合并分支删除分支合并冲突分支管理策略bug分支强制删除分支 创建分支
查看当前本地仓库中有哪些分支
git branchHEAD所指向的分支就是当前正在工作的分支
cat .git/HEAD创建一个分支
git branch dev创建好了但是目前还是指向master 用tree命令也可以看到已经创建分支成功了 创建出来的分支和主分支的最新记录是一样的 切换分支就是让HEAD指向我们的dev分支
git checkout dev我们在dev分支上堆ReadMe文件进行了修改 再进行提交 这个时候再切换回master分支 查看文件 可以看到刚刚新加的那行文件不见了~~
那我们再切换回dev分支上看 发现那行新加的还在
我们查看这里发现已经变了
我们查看记录 dev上是最新的记录master分支第二 我们最终的效果是在master分支上看到我们的效果我们怎么操作呢
合并分支
这就要我们合并分支在合并分支之前就需要先切换到我们master分支上
git merge dev删除分支
只能在其他的分支上删除本分支
git branch -d dev合并冲突
在合并分支的时候我们在master分支上已经修改了文件而我在dev分支上也修改了文件然后合并的时候就会出现报错我们来演示一下
快速创建分支并且进入分支
git checkout -b dev1 我们将原来的aaa改成了bbb 然后提交上去 我们切换到master分支上查看一下文件内容发现还是aaa因为还没有合并 接下来我们就继续将这个aaa改成ccc然后再进行合并分支 这个时候再进行合并会提示合并冲突
git merge dev1我们打开ReadMe文件查看一下 这个时候就要手动选择要保留哪些代码
假设我们就保留这些代码 然后再进行提交 查看是否是最新提交 可视化的查看方法
git log --graph --abbrev-commit分支管理策略
不使用Fast forward模式
创建一个新分支
git checkout -b dev2修改ReadMe文件并提交 切换回master分支后进行合并
不使用Fast forward模式
git merge --no-ff -m merge with no-ff dev2bug分支
假如我们现在正在 dev2 分支上进行开发开发到一半突然发现master 分支上面有 bug需要 解决。在Git中每个 bug 都可以通过一个新的临时分支来修复修复后合并分支然后将临时分支删除 这个时候主分支出现了一个bug这个时候就要i切换到master分支 那我们不想这样我们可以这样做
将工作区的内容进行保存
git stash修复完bug后我们就需要进行重新回到dev2分支继续开发
git stash pop 现在我们到了dev2分支上了我们继续开发 然后提交在dev分支上进行了新的提交 这个时候就需要合并了但是合并的时候就会出现冲突刚刚master修改了bug了这次又要进行合并分支我们需要解决错误
我们需要不在master上合并分支在dev合并master主分支把问题再本地上解决了再做下一步
我们在dev2分支上进行合并
手动修改冲突
然后就可以合并了~~ 最后不要忘了把刚刚的临时分支和开发分支删除~~ 强制删除分支
如果在开发中如果在一个分支上已经开发对代码进行提交了这个时候用传统的方法进行删除是不能删除的我们需要用到-D来进行删除~~
git branch -D dev3分支在实际中有什么用呢假设你准备开发一个新功能但是需要两周才能完成第一周你写了50%的代码如果立刻提交由于代码还没写完不完整的代码库会导致别人不能干活了。如果等代码全部写完再一次提交又存在丢失每天进度的巨大风险。现在有了分支就不用怕了。你创建了一个属于你自己的分支别人看不到还继续在原来的分支上正常工作而你在自己的分支上干活想提交就提交直到开发完毕后再一次性合并到原来的支上这样既安全又不影响别人工作。并且 Git 无论创建、切换和删除分支Git在1秒钟之内就能完成无论你的版本库是1个文件还是1万个文件。