• <Git使用>分支管理


    Git可以在时间轴上穿梭,也可以在平行宇宙间穿梭,那么究竟是什么在穿梭呢?是HEAD指针。

    有两种指针,一个是HEAD指针,另一种是分支指针。

    分支指针指向其平行宇宙里(也就是这个分支里)的当前版本,而HEAD指针指向当前分支指针。

    切换当前分支其实是把HEAD指针指向另一个分支指针。

    合并分支就是把一个分支指针同步到另一个分支指针的位置。

    删除分支就是删除分支指针。

    而在诸多分支中master分支是主分支,是不能删除的,它指向提交。

    查看全部分支:

    git branch

    新建分支:

    git branch <name>

    删除分支:
    git branch -d <name>

    切换分支:

    git switch <name>

    合并某分支到当前分支:

    git merge <merged_branch>

    冲突解决:

    当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。

    解决冲突就是把Git合并失败的文件手动编辑为我们希望的内容,再提交。

    git log --graph命令可以看到分支合并图。

    BUG分支:

    修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;

    当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场;

    在master分支上修复的bug,想要合并到当前dev分支,可以用git cherry-pick <commit>命令,把bug提交的修改“复制”到当前分支,避免重复劳动。

    多人协作:

    查看远程库信息,使用git remote -v

    本地新建的分支如果不推送到远程,对其他人就是不可见的;

    从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交;

    在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;

    建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name

    从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。

  • 相关阅读:
    EF CORE EntityFrameworkCore中关系模式一对一、一对多、多对多的使用
    C# LINQ中Join与GroupJoin的区别
    C#中HttpWebRequest、WebClient、HttpClient的使用
    .Net 性能优化--EFCore(EntityFrameworkCore)
    .Net 性能优化--缓存--分布式缓存
    .Net 性能优化--缓存--http缓存
    .Net 性能优化--缓存--分布式缓存 --sqlserver缓存
    .Net 性能优化--缓存--分布式缓存--reids缓存
    获取Kafka每个分区最新Offset的几种方法
    Wireshark使用入门
  • 原文地址:https://www.cnblogs.com/dynmi/p/12235573.html
Copyright © 2020-2023  润新知