git 分支操作(常用命令)
简写 | 含义 |
---|---|
-d | –delete:删除 |
-D | –delete --force的快捷键 |
-f | –force:强制 |
-m | –move:移动或重命名 |
-M | –move --force的快捷键 |
-r | –remote:远程 |
-a | –all:所有 |
命令 | 描述 |
---|---|
git checkout -b new_branch | 新建本地分支并切换到新建的分支 |
git checkout branch | 切换到本地分支 |
git branch -d/-D branch_name | 删除本地分支 , -D则表示强制删除,相当于 --delete --force |
git branch -d/-D -r branch_name/git push --delete origin oldName | 删除远程分支,删除后,还要推送到服务器上才行,即git push origin :branch_name |
git branch | 查看所有分支,*代表当前所在分支 |
git branch -r | 查看远程所有分支 |
git branch -a | 查看本地和远程所有分支 |
git branch -m / -M oldBranch newBranch | 重命名分支,-M是如果newBranch 已经存在,则可强制命名;需要重命名远程分支,删除远程待修改分支,push本地新分支名到远程 |
git merge branch | 合并分支(注意只能在主干上合并分支) |
git fetch | 更新代码 |
git pull | 更新代码 |
git push origin branch_name | 推送本地分支到远程 |
git push origin : remote_branch | 删除远程分支(本地分支还在保留) |
git push origin branch_name | 将本地分支推送到远端 |
1、git pull和git fetch的区别(原理)
(Git:远程分支----git fetch命令的使用)
2、解决Git切换分支问题
3、Git冲突:commit your changes or stash them before you can merge.
对同一个项目进行不同bug的修改的切换分支的操作
1、对 qa分支进行两个bug的修改操作步骤:
1) 先 git fetch --all 更新所有的代码
2)创建修改 bug1的本地分支 git checkout -b bug1_branch
3) 拉取 远端qa代码最新, git reset --hard origin/qa
切换到bug2分支操作
1)先创建新的分支 (此时bug1分支的代码修改也会出现在bug2的分支上)
git checkout -b bug2_branch
2) 再更新所有代码 git fetch --all
3) 再拉取远端qa最新代码 git reset --hard origin/qa
此时本地分支 bug2_branch 中是远端qa的最新代码
再次切换其他分支也是同样的操作
2、分支冲突
前提: 多个分支同步开发
当有其他分支 merge到当前分支时,其他分支采用上面操作,将merge into curren 的作用是:合并到当前分支(将所选分支合并到当前分支)。