zoukankan      html  css  js  c++  java
  • Git操作(二)

    很久以前写的git入门,最近又巩固了一下Git分支操作,下面是我的一些整理。

    1、分支与合并  

    #创建并切换到该分支
        git checkout -b xxx
    
    #查看当前分支
        git branch  
    
    #进行一些正常的提交等
    
    #分支工作完成,就可以切换回到master分支
        git checkout master
    
    #将xxx分支合并到当前分支上
        git merge xxx
    
    #删除分支
    
      # 合并完成后 
         git branch -d xxx
    
      # 未合并的分支的删除
         git branch -D xxx

    2、BUG分支||分支暂存(将开发一半的分支进行保存,在适当的时候进行代码恢复)

    # 当手头工作没有完成时,先把工作现场`git stash`一下,然后去修复bug

    # 修复完成后,`git stash list` 列出所有的暂存状态

    # 从暂存区之中恢复回到工作现场 # 先恢复,而后再删除暂存 git stash apply git stash drop # 恢复的同时也将stash内容删除 git stash pop
    # 在master分支上修复的bug,想要合并到当前dev分支,可以用git cherry-pick <commit>命令,把bug提交的修改“复制”到当前分支,避免重复劳动。

    3、多人协作的工作模式

    • 首先,可以试图用git push origin <branch-name>推送自己的修改;
    • 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;

      • 如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to <branch-name> origin/<branch-name>

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

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

    4、合并分支

    • git merge命令用于合并指定分支到当前分支

    • 使用fast-forward方式进行分支合并,只是简单改变了分支指针,而不会产生新的commit记录。

    • git merge --no-ff -m "msg" <branch_name> // 合并分支时禁用Fast forward模式

    • git rebase操作可以把本地未push的分叉提交历史整理成直线;

  • 相关阅读:
    U3D开发中关于脚本方面的限制-有关IOS反射和JIT的支持问题
    APP发行渠道
    在WINDOWS上开发IOS应用的方法
    如何安全的在不同工程间安全地迁移asset数据?三种方法
    UNITY 的GC ALLOC到底是什么
    Dictionary,hashtable, stl:map有什么异同?
    如何成为一个优秀的高级C++程序员
    两点间所有路径的遍历算法
    技术人员的未来:做技术还是做管理?
    技术人员如何去面试?
  • 原文地址:https://www.cnblogs.com/zx0423/p/13301225.html
Copyright © 2011-2022 走看看