zoukankan      html  css  js  c++  java
  • Git 安装与使用(二)

    一、分支管理

           在Git里,master是主分支,同时可以创建其他分支,支持各分支合并到主分支上,基本命令如下

              

           1.创建分支

              git checkout -b dev       创建dev分支,并切换到dev分支 

              相当两条命令: git branch dev 创建dev分支  与  git checkout dev  切换到dev分支

                                                          

    2.查看分支
    git branch [-a]

            3.合并分支

                

                dev分支的工作成果合并到master分支上: git merge dev

              

            4.删除分支

               合并完成后,就可以放心地删除分支了

               git branch -d dev  

               

           5.解决冲突

                两个分支都修改,都提交了,合并会产生冲突

                    

               

           5.分支策略

              在实际开发中,我们应该按照几个基本原则进行分支管理:

              首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;

              然后,在dev分支上干活,也就是说,在某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;

              团队中的每个人都在dev分支上干活,每个人同时也都有自己的分支,时不时地往dev分支上合并就可以了。

              或者,直接弄dev分支也可以,就像使用SVN一样

    二、多人协作

           1.从远程库克隆项目到本地

              git clone 地址 [本地目录]  

           2.查看远程库信息

               

          3.推送分支

             推送分支,就是把该分支上的所有本地提交推送到远程库。推送时,要指定本地分支,这样,Git就会把该分支推送到远程库对应的远程分支上:

             git push origin master  

             推送其它分支:比如dev

             git push origin dev   

          4.抓取分支

             多人协作时,团队成员都往masterdev分支上推送各自的修改

             

                 git pull 相当于两条命令:    git fetch 相当于update   与   git merge origin/master

    三、标签管理

           1.创建标签

              git tag 标签名称 分支名称     或       先checkout切换到要打标签的分支,然后 git tag 标签名称  

              git tag -a 标签名称 -m "指定标签信息"  

           2.查看标签(所有)

         git tag   

           3.将标签推送到远程服务器

             git push origin 标签名称         或者,一次性推送全部尚未推送到远程的本地标签     git push origin --tags 

           4.删除标签

              删除本地标签: git tag -d 标签名称  

            删除远程库的标签(如果远程库有标签):  git push origin :refs/tags/<tagname>  

    四、忽略特殊文件

          有些文件是不需要提交,比如一些txt、.bak或者npm的东西,需要让git忽略一些文件,需要引入 .gitignore文件

    # 以'#' 开始的行,被视为注释.
    # 忽略掉所有文件名是 foo.txt 的文件.
    # foo.txt
    # 忽略所有生成的 html 文件,
    # *.html
    # foo.html是手工维护的,所以例外.
    # !foo.html
    #  忽略所有.o 和 .a文件.
    # *.[oa]
    # /bootstrap/compiled.php
    # /vendor
    # composer.phar
    # .env.*.php
    # .env.php
    # .DS_Store
    # Thumbs.db
    # sftp-config.json
    # /nbproject/private/
    .idea
    
    # app/controllers/TestController.php
    
    # app/views/test/index.blade.php

        需要将忽略文件提交至本地库,并推送至远程库

        

        写到这里,Git的使用基本就完成了,不过个人本身对这些操作命令真是不屑一顾,有TM工具(Tortoise Git),多方便呀,个人比较反感装逼,直接 pengXX 多好呀。妈的一个工具,整那么复杂干啥,蛋疼地写完这边文章,我强烈建议大家看看下一篇文章,咱都好好的,别装逼,装逼招雷劈!

        下一篇,咱就讲解如何像使用svn 一样使用 git。

           

  • 相关阅读:
    实例使用总结
    AI vs PS 矢量 VS 位图
    快捷键总结
    总结常用公共模块
    No module named MySQLdb
    Ubuntu上mysql, 通过python连接报错Can't connect to MySQL server on xxx (10061)
    移动端Vue组件库-Vant学习
    CKEditor与定制
    js如何将一个数组按照自己固定的顺序排序?
    js如何替换字符串中匹配到多处中某一指定节点?
  • 原文地址:https://www.cnblogs.com/xfz1987/p/5714692.html
Copyright © 2011-2022 走看看