分支简介
分支创建
git branch xx
查看:git log --oneline --decorate
分支切换
git checkout xx
查看分叉历史:git log --oneline --decorate --graph --all
分支新建与合并
新建分支
新建并同时切换:git checkout -b xx
合并:git merge xx
删除:git branch -d xx
分支的合并
遇到合并冲突:git status查看unmerged状态的文件,修改
图形化工具处理冲突:git mergetool
分支管理
得到分支列表:git branch
查看每一个分支最后一次提交:git branch -v
查看哪些分支已经合并到当前分支:git branch --merged
删除上一条显示分支中没有*的分支:git branch -d xx
查看所有包含未合并工作的分支:git branch --no-merged
丢掉没合并分支和那些工作,强制删除分支:git branch -D xx
分支开发工作流
长期分支
master->develop->topic
大型项目还有:proposed; pu(proposed updates)
主体分支
远程分支
获得远程引用的完整列表:git ls-remote <remote
获得更多信息:git remote show <remote
命名:<remote /<branch
git chone -o xx:远程分支名字:xx/master
与远程仓库同步数据:git fetch <remote(更新本地数据库)
推送
和别人一起工作:git push <remote <branch
git push <remote <branch:<branch(将本地该分支推送到远程仓库的分支)
避免每次输入密码:git config --global credential.helper cache
想要在自己的xx分支上工作,建立在远程跟踪分支上:git checkout -b <branch <remote/<branch
跟踪分支
git pull
git checkout --track <remote/<branch
git checkout xx(本地不存在,远程正好有,就会创建一个跟踪分支)
为本地分支和远程分支设置不同的名字:git checkout -b xx <remote/<branch
设置已有的本地分支跟踪一个刚拉取下来的远程分支:git branch -u <remote/<branch
通过简写引用上游分支:git merge @{u}
查看设置的所有跟踪分支:git branch -vv
抓取所有远程仓库:git fetch --all ; git branch -vv
拉取
git fetch: 抓取,不修改工作目录中的内容,获取数据自己合并。
git pull = git fetch + git merge
删除远程分支
git push origin --delete xx
变基rebase
基本操作
git rebase master(基底分支)
其他例子
git rebase --onto master xx xo(选中在xo但不在xx分支里的修改,将它们在master上重放)
快进合并master:git checkout master git merge xx
直接将主题分支变基到目标分支:git rebase <basebranch <topicbranch
合并后删除
覆盖服务器上的提交历史:git push --force
用变基解决变基
git rebase <remote/<branch(在一个被变基然后强制推送的分支上再次执行变基)
或者:git pull --rebase = git fetch + git rebase <remote/<branch
变基 vs 合并
最后
以上就是苹果发箍最近收集整理的关于Git学习笔记(Ubuntu)Git分支的全部内容,更多相关Git学习笔记(Ubuntu)Git分支内容请搜索靠谱客的其他文章。
发表评论 取消回复