Git合并分支

一:需求背景.

        1.1 多人开发合作,其中甲同学维护远程主分支master,乙同学开发了一个新功能,经过甲乙丙同学共同协商一致认为该功能可行,于是甲同学决定将这个分支合并到远程仓库的master分支上去.

        1.2 首先是乙同学拉取远程最新的远程仓库.

        git remote rm origin

        git remote add origin git_url

        git pull

        1.3 乙同学开发新功能,和大伙并行开发. 在本地新建一个分支.

        git checkout -b function(并在当前分支下创建一个introduce.md文件模拟新功能)

       

        1.4 推送本地分支到远程仓库分支.

        git  push origin function

       

        1.5 查看远程仓库分支.

       

          1.6 将本地fuction分支开发内容推送至远程的开发分支function.     

        git add introduce.md

        git commit -m "提交描述"

        git push origin function:function(提交本地function分支至远程仓库function分支,如果远程分支不存在就会自动创建,自己测试过可以成功推送的).有三种写法.最后一个参数是目标位置,方便记忆.

       ① git push <远程主机名> <本地分支名>:<远程分支名>

       ② git push <远程主机名> <本地分支名>(直接推送一个和本地分支同名的远程分支,如果不存在就会新建一个的)

       ③ git push : <远程分支名> 这个就是使用一个空的本地分支更新一个远程分支的内容,就相当于删除远程分支.

      

       1.7 远程仓库分支内容查看.

  1.8 甲同学IDEA下获取乙同学提交的分支新功能.

  首先是甲同学IDEA是在自己的本地dev分支下开发的.

首先是远程的分支拉到本地.但是不合并哟.(没有和任何一个分支合并!,只是有选择的合并.相比git pull更安全一些.)

                                                  

上述操作新建一个本地分支.

拉取最新的远程分支内容到本地.并且和当前的function分支合并.

此时本地的function分支是最新的内容,接下来看看这个新的功能要不要合并到本地Master分支上去了.

甲同学感觉新功能很不多,于是将IDEA切换至本地Master分支.准备合并到本地的Master分支上去.

合并本地的function内容至Master分支上.

push至远程仓库

将之前本地仓库的修改文件一并提交至远程仓库主分支上.

二:Git实用

      2.1 将远程仓库分支拉取到本地分支的方式方法总结.fetch是将远程仓库的文件下载到本地,但是不合并,如果要想合并到当前分支或者是本地指定的分支,需要git merge命令帮助一下.

            git fetch origin(不指定分支名就是远程全部分支).

            git fetch origin XXX(拉下远程指定的分支).

            例如当前本地是master分支.要拉取远程的function分支到本地的function分支.

            git fetch origin function

           

            git checkout -b function(本地分支名) origin /function(远程分支名)

           

            git pull origin function

                     

            FECT_HEAD(解释一下,是指某个branch在服务器的最新状态).

           

            每一个执行fetch操作,都会存一个FETCH_HEAD列表.列表保存的位置如上图所示.

            这个当前分支指向的FETCH_HEAD,就是这个文件第一行对应的那个分支.

           如果没有指定就是将远程的Master分支作为FETCH_HEAD.

           如果指定的远程分支,那这个远程分支作为FECT_HEAD.

          

 

        2.2 IDEA下删除本地分支和远程分支.

             删除本地的function分支.(git branch -d XXX)

            

            删除远程仓库的function分支.git push origin :XXX(用一个空的本地分支更新远程分支).

           

       2.3 git diff命令

            git diff(不带参数).比较是工作区和暂存区的文件修改.

          

           IDEA下编写GIT命令也是棒棒的.使用方便,视觉上也更舒适一些吧.            

   2.3 git push -all <远程主机>(将本地的所有分支都推送至远程主机).

   2.4 git status (查询仓库的状态)

 

   2.5 git log(查看仓库历史记录)(详细版)

 

 2.6 查看历史提交所有版本的CommitID

2.7 git checkout -- file(撤销工作区的修改).

例如这里在本地的test分支下新建了一个文件,并且添加内容.

2.8 git reset HEAD 文件名

先总结到这里,初学者经验少嘛,不妥的地方欢迎修正.

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大道之简

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值