前言:
git的分支管理,首先要有一个概念就是,本地和远程仓库,所有的操作都是基于这个概念下,进行操作的,本地仓库需要和远程仓库保持一致。分支的存在保证了多人员的同时开发,开发人员可以在本地的个人分支进行开发,从而不会影响项目的整体进度。
1、创建:
- git checkout -b newbranch
2、查看:
git branch 不带参数:列出本地已经存在的分支,并且在当前分支的前面加“*”号标记
git branch -v 查看状态
git branch -vv 也是查看状态,查看本地及远程分支及最后一次提交的log
git branch -r 列出远程分支
git branch -a 列出本地分支和远程分支
git bracnh -av 查看本地及远程分支,以及分支的最后一个提交注释
git branch 创建一个新的本地分支,需要注意,此处只是创建分支,不进行分支切换,例如: #git branch newbranch2
- git branch -rx 查看本地分支与追踪的远程分支:
git remote -v 查看远程及本地 push及pull的仓库
cat .gitignore 查看git ignore 即没有使用git 来追踪的文件
回退指定版本并推送到远程
git log 命令查看所有的历史版本,获取某个历史版本的id,假设查到历史版本的id是139dcfaa558e3276b30b6b2e5cbbb9c00bbdca96
git reset --hard 139dcfaa558e3276b30b6b2e5cbbb9c00bbdca96 回退
git push -f -u origin master
3、修改及更新
修改分支名:
git branch -m 重命名分支
git branch -M oldbranch newbranch 如果newbranch名字分支已经存在,则需要使用-M强制重命名,否则,使用-m进行重命名
对于仅是本地分支的操作:
如果对于分支不是当前分支,可以使用下面代码:
git branch -m "原分支名" "新分支名"
如果是当前,那么可以使用加上新名字
git branch -m "新分支名称"
需要push到远程的分支名修改:
git branch -m 旧分支名 新分支名
git push --delete origin 旧分支名
git push origin 新分支名 将新分支名推上去
git branch --set-upsteam-to origin/新分支名 将新本地分支和远程相连
(若是此时就在本分支上,删除了远程分支之后,就需要再次push远程分支,这个时候就会自动跟踪,不需要set-upsteam-to)
或者:
git branch -m old_branch new_branch # Rename branch locally
git push origin :old_branch # Delete the old branch
git push --set-upstream origin new_branch # Push the new branch, set local branch to track the new remote
更新分支:
git fetch --all 将本地所有分支与远程保持同步
git pull --al 最后拉取所有分支代码
4、删除
删除本地分支-删除远程分支
首先要切换到其他分支上:
git branch -d branchname 删除branchname分支
git branch -D branchname -D则表示强制删除,相当于 --delete --force
git branch -d -r origin/branchname 删除远程branchname分支, 需要注意的是远程分支名必须保持一致,不限制在哪个分支上进行
git push origin :branchname 但是注意这时只删除了本地的远程仓库,还需要推到远程仓库
git push origin --delete tmp 删除远程分支
git push origin :branchname 推送空分支到远程(删除远程分支的另一种实现)
第一种删除远程分支流程:
1. git checkout dev 删除本地分支前先切换到其他分支
2. git branch -D tmp 删除本地分支
3. git push origin --delete tmp 删除远程分支
第二种删除远程分支流程:
1. git branch -d -r origin/tmp 删除远程分支origin/tmp
2. git push origin :tmp push到远程分支
3. git checkout dev 删除本地分支前先切换到其他分支
4. git branch -D tmp 删除本地分支