• Git(2)—特性


    部分参见于 廖雪峰官方网站

    • 分支管理
    git checkout -b dev     //建立新的分支dev
    HEAD指针移至dev分支,之后就是在dev进行操作
    git commit -m "D"      //进行一次新的提交
    git checkout master   //将HEAD指针移至master分支
    git merge dev        //将master分支向dev分支合并
    git branch -d dev      //删除dev分支

    git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:

    $ git branch dev  //创建分支
    $ git checkout dev  //移动指针
    Switched to branch 'dev'
    $ git branch  //可以查看当前项目所含的所有分支
    * dev
      master

      * HEAD指针当前指向的分支

    当合并之后产生冲突时,需要先解决冲突,修改文件之后再次提交,再次合并即可。

    Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息

    强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息

    $ git merge --no-ff -m "merge with no-ff" dev
    • Bug分支
    git stash 可以把当前工作现场“储藏”起来,等恢复现场后继续工作
    //创建另一个分支修复代码,合并到master分支后,切换回之前工作的分支
    $ git stash list  //查看stash内容
    stash@{0}: WIP on dev: feb58f7 be_merged_finally
    1. git stash pop  //恢复的同时把stash内容也删了
    2. git stash apply stash@{0}  //恢复后,stash内容并不删除,你需要用git stash drop来删除;
    •  多人协作

    当自己提交时比他人晚了一步,则需要先从远程拉取最新的,之后进行合并再上传

    如果没有指定自己本地dev分支与远程origin/dev分支的链接 则会报错,需要设置,然后再拉取

    错误提示提示  no tracking information
    git branch --set-upstream-to=origin/dev dev

     工作流程

    1. 首先,可以试图用git push origin <branch-name>推送自己的修改;

    2. 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;

    3. 如果合并有冲突,则解决冲突,并在本地提交;

    4. 没有冲突或者解决掉冲突后,再用git push origin <branch-name>推送就能成功!

  • 相关阅读:
    Navicat 导出sql问题
    2017,我的第一次年终总结
    dev treelist和searchcontrol组合模糊查询用法
    构造函数详解
    Devexpress常见问题
    Devexpress 常用的功能
    dev Gridcontrol控件属性部分
    记录DEV gridview获取行列数据方法
    string类的几种方法
    plsql中的procedure和function编程
  • 原文地址:https://www.cnblogs.com/Nora-F/p/9469547.html
Copyright © 2020-2023  润新知