zoukankan      html  css  js  c++  java
  • 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>推送就能成功!

  • 相关阅读:
    js的一些应用技巧
    js学习总结
    asp.net设置标题 兼MasterPage得使用
    IIS5、IIS6、IIS7的ASP.net 请求处理过程比较(转)
    .NET JSON.DLL
    大型网站架构演变和知识体系(转)
    JSON学习总结
    周华健,歌声伴我成长(三)
    研究方向
    周华健,歌声伴我长大(二)
  • 原文地址:https://www.cnblogs.com/Nora-F/p/9469547.html
Copyright © 2011-2022 走看看