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>推送就能成功!

  • 相关阅读:
    eyoucms遍历子栏目,有二级栏目的点击展开或者收缩
    eyoucms 遍历栏目下的子栏目
    帝国cms 内容页根据关键词来调用相关内容
    帝国cms 上传的图片前台不显示
    帝国cms 通过字段内容来获取数据
    eyoucms 去掉 index.php后缀
    通过jquery插件复制文字
    帝国cms 表单弹窗提交,判断后才能提交到后台
    动态库和静态库
    J-520-2018年第二届河北省大学生程序设计竞赛(快速幂取模)
  • 原文地址:https://www.cnblogs.com/Nora-F/p/9469547.html
Copyright © 2011-2022 走看看