分支管理创建
# 新建分支 并转移到此位置
git checkout -b NewBranch
# 查看所有分支
git branch
# 切换分支 切换到 master
git checkout master
# 删除本地分支 NewBranch
git branch -D NewBranch
场景:假设我们现在创建分支 NewBranch 已经成功,如果需要对此传入代码。
git add -A (或文件名)
git commit -m "new branch"
git push origin NewBrLanch # 将代码上传到分支
场景:假设项目全部完毕,有多个分支~我们需要将他们合并
合并分支到主分支
# 回到主分支 master
git checkout master
# 将主分支数据拉到本地
git pull
# 强行合并 (可能会出错, master很有可能也更新)
git merge NewBranch
# 假设说上面的 和合并出现问题 那就手动合并
vim Readme # 手动合并标识文件
git add -A
git push origin master # 合并之后 就可以提交到 master 了
# 查看从什么地方出现的分支
git log -graph
现在都可以理解 为什么要用分支了。
而且再公司中 分支也是有规定的,如 master 不可以轻易的上传啦,要用 dev 开发的分支进行项目开发,而每个组还要有 pyTeam 分支,知道组中的我 H_sen 分支。只有等测试排除所有的问题后才会发布到 master 分支
Bug分支
git stash
- 找到 bug
# 突然出现的 bug
vim Readme
# 将 dev 中未保存的代码存放到临时区
git stash # 这样做完全的避免了 将 代码带入到 Bug 分支
- 修复 bug
# 切换到 bug 分支
git checkout -b bug-100
# 切换后 修复 bug
vim Readme
git add -A
git commit -m "修复 bug" # 提交到工作区
- 将修复后的 bug 和 master 合并
# 切换到 master
git checkout master
# 强行合并
git merge bug-100
# 推送 到主分支
git origin master
- 找回之前的 dev 分支,并恢复 状态
# 切换回开发的分支
git checkout dev
# 查看状态
git status
more Readme # 发现之前工作区 未提交的数据都消失了
git stash list # 查看之前使用 git stash 保存的数据
git stash apply # 恢复之前的文件
# 查看状态
git status # 此时就可以看到排bug 之前的完美状态了
- 1 git stash 其他操作
git stash drop # 删除最久的那个 使用 git stash 临时保持状态
git stash apply stash{{0}} # 指定恢复到那个临时状态
git stash pop # 恢复并删除上一个临时状态
'''
注意!!! git stash aplpy恢复后 stash的内容并不删除,需要 git stash drop 才能删除
git stash pop 就简单许多 恢复的时候直接删除
'''