004 git分支
git分支是什么
为什么用git分支
假设超哥要开发一个同性在线交友的网站,这个写代码的工作进行分配,分给两个小弟进行功能开发,一个是武沛奇分支,一个是苑昊分支,他俩自己的分支别人看不到,当他俩代码写完后,合并到master主分支上,这样既保证主代码的安全,又能协同开发,互不影响。
git分支实战
git branch 分支名linux 创建分支linux git checkout 分支名linux 切换分支到linux git branch 查看当前分支情况,在哪一个就有*符 git check -- filename 一键还原文件,将git仓库的文件覆盖当前文件,危险命令 git checkout -b name 创建+切换新的分支
练习 创建linux分支,提交代码 git branch linux git checkout linux touch first.py git add first.py git commit -m “fenzhi linux commit v1” 此时切换回master分支,发现没有first.py文件 自动合并分支到master git checkout master git branch git merge linux 合并linux分支到master分支 合并完最好删掉无用的分支 git branch -d linux 自动合并可能会出现冲突报错,需手动解决冲突,解决自己想要的内容 对同名同目录的同一个文件操作,修改同一行数据就会冲突 git checkout master echo “master” >> readme git commit -a -m “master commit “ 提交代码到master仓库 切换到linux分支,此时已经看不到master主干的代码修改 git checkout linux echo “linux” >> readme git commit -a -m "linux commit” git checkout master 此时查看文件内容,应该只有master,并没有linux git merge linux 合并linux分支的代码,发现有一行冲突(both modified),
master与linux字符串,手动修改后重新提交
git commit -a -m "master merge commit” 提交本地代码到代码仓库
当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。
解决冲突就是把Git合并失败的文件手动编辑为我们希望的内容,再提交。
用git log --graph命令可以看到分支合并图。