git-02 分支管理笔记

学习自廖雪峰的官方网站

1、每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。 HEAD 指向的不是提交而是分支
有两个分支master/dev,HEAD指向的是master或者dev, master/dev指向的是提交。

2、创建分支,并切换至新的分支,-b 参数表示创建并切换
    git checkout -b dev <==> git branch dev && git checkout dev
3、查看分支,* 表明的为当前分支
    git branch 
4、合并指定分支到当前分支,比如当前
    git merge branch_name
5、删除分支
    git branch -d branch_name
6、切换分支,切换分支使用git checkout <branch>,而前面讲过的撤销修改则是git checkout -- <file>,同一个命令,有两种作用,最新版本的Git提供了新的git switch命令来切换分支:
    git switch branch_name
7、创建并切换分支
    git checkout -b <name>或者git switch -c <name>
8、查看分支合并图
    git log --graph --pretty=oneline --abbrev-commit
9、强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,--no-ff参数禁用Fast forward mergn方式
    git merge --no-ff -m "commit_message" branch_name
10、当前分支dev上的工作尚未完成,如果有另一项任务需要优先完成,或者出现BUG需要立刻修复。此时需要另外创建一个分支来工作,可以把当前工作现场“保存”起来,等以后恢复现场后继续工作。
    10-1 保存工作现场:git stash 查看状态,工作区就是干净的
    10-2 假设需要在分支master上修复,就切换到master上:git checkout master
    10-3 在master上创建新分支bug001,并设为当前工作分支: git checkout -b bug001
    10-4 修改bug,然后提交: git add bug.file , git commit -m "fixed bug001" 
    10-5 切换到master分支:git switch master 
    10-6 将bug001分支合并到master分支:git merge --no-ff -m "merged fix bug001" bug001
    10-7 继续之前的工作,切换至dev分支:git switch dev
    10-8 查看存储的工作现场:git stash list
    10-9 
        10-9-1 恢复工作现场(恢复的同时把stash内容也删了) git stash pop
        10-9-2 恢复工作现场(stash内容并不删除,你需要用git stash drop来删除) 
                git stash apply stash@[0] (可以指定stash)
    10-10 dev分支是早期从master分支分出来的,将某个提交所做的修改“复制”到dev分支:
        git cherry-pick commit_id (将commit_id这个提交做的修改复制到dev分支)
11、强行删除一个没有被合并过的分支
    git branch -D branch_name
12、查看远程库的信息
    git remote (查看远程库的信息 git remote -v)
13、推送分支到远程库
    git push origin branch_name

! 在Git中,分支完全可以只在本地,是否推送,视你的心情而定

14、创建远程origin的dev分支到本地
    git checkout -b dev origin/dev
15、如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建
    设置dev和origin/dev的链接:
    git branch --set-upstream-to=origin/dev dev
16、把分叉的提交历史“整理”成一条直线
    git rebase

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值