【git的配置】
1.配置用户名和邮箱: 分为全局配置和局部配置 --system 系统配置  --global 全局配置    --local 局部配置
Git读取时:优先从local>global>system
git config --global user.name name
git config --global user.email email  
 
2.别名的配置
使用git st 代替 git status
git config --global alias.st status
配置成功后全局的配置list中会添加 alias.st = status
 
3.默认选项的配置
pull.rebase  
git config --global pull.rebase true
 

【git常用命令】
1.git clone [url]
在git clone操作中,git会默认拉去仓库master分支上的文件,
    git clone -b 分支名   [url]    clone指定的分支
 
2.git tag 查看当前所有标签
通过-l选项进行过滤标签
    git tag -l ‘v1.8.5*’   输出包含v1.8.5的小版本标签
创建标签: 通过-a选项创建一个标签,通过-m选项制定一条存储在标签中的信息,-m类似于git commit -m
    git tag -a v1.4 -m ‘v1.4’
补充标签:加入在某次提交时,忘记打标签
    首先通过 git log —pretty=oneline 命令查看所有提交历史
01eef37c165e08f60d1843511476ab9de62a418c (HEAD -> master, origin/master) no tag push
242921a006c7e00742d6d740dfcddd62e7407d10 (tag: v1.1) second push
2a292db3f0fd516cee21b423926600010746f49d (tag: v1.0) start study git (HEAD -> master, origin/master) no tag push
242921a006c7e00742d6d740dfcddd62e7407d10 (tag: v1.1) second push
2a292db3f0fd516cee21b423926600010746f49d (tag: v1.0) start study git
    可以对最上面一条补充标签: git tag -a v1.2 01eef37c165e08f60d1843511476ab9de62a418c
    推送标签: git push 操作默认时不会推送tag标签的,需要使用—tags选项专门推送tag标签
    git push origin —tags     推送成功后可以在远端仓库看到刚才推送的标签
 
3.文件状态:
在一个本地仓库中,文件只有两种状态--已追踪和未追踪
已追踪文件:在仓库之前的版本快照中包含了文件的记录,在用户工作一段时间之后,这些文件要么事修改文件,要么事删除文件,要么事没有任何改动的文件
为追踪文件: 并不再上一次版本快照中,也不再本地暂存区,一般都是新增文件
注意: 刚clone完的项目,所有文件都是已之宗状态,并且都未修改
git status 命令事用来检索本地所有文件的更新,包括新增,修改和删除
在暂存区内,git只暂存了git add时的版本,如果此时进行commit提交,提交的也只是git add的版本,新的编辑并未添加至暂存区。因此我们在任何时候,如果对文件进行了修改,都需要通过git add命令添加至暂存区。
 
4.忽略文件
 gitignore文件格式如下:
    #表示注释会被忽略。
    空行直接被忽略。
    可以用正则匹配。
    除去匹配的文件,在表达式前面加上取反符号(!)。
 
5.查看修改 git diff : 查看尚未暂存文件的修改
git diff                     查看修改后未暂存起来的文件内容。
git diff --staged      查看暂存区的修改
 
6.写一个完整规范的commit message
Type(scope): subject    (注意:冒号后面必须跟空格才能使用changelog工具)
    type有下面几个类型:
        Feat--新功能
        Fix--修复bug
        Style—代码格式 
        Refactor--代码重构
        Chore--项目构建(修改版本号等)
    scope:模块名称—代码的功能
    subject: 描述信息
 
格式化commit message的工具:git cz(commitizen)
    全局安装commitizen :  npm install -g commitizen
    设置支持angular格式的commit message : commitizen init cz-conventional-changelog —save-exact
    提交代码的时候使用: git cz 
 
7.changelog: 项目迭代过程中一系列的变更记录
生成changelog
    全局安装changelog: npm install -g conventional-chagelog-cli
    生成所有的changelog: conventional-changelog -p angular -I CHANGELOG.md -s -r 0
    在CHANGELOG.md的头部加上自从上次发布以来的变动: conventional-changelog -p angular -I CHANGELOG.md -w
    为了方便使用,可以将其写入package.json的scripts字段
    {
        “script”: {
            “Changlog”: "conventional-changelog -p angular -I CHANGELOG.md -w"
        }
    }
    然后直接运行 npm run changelog 即可
    默认情况只有feat和fix才有提交记录
 
8.主干和分支
git通过保存一系列不同时刻的文件快照来实现数据存储。每次在进行git提交时,都会生成一个提交对象,这个提交对象都会产生一个只想咱村去内容快照的指针,每个提交对象中都会包含一个指向上一次提交(父提交对象)的指针。
每个git仓库都有一个默认的master分支。
git branch 分支名              创建一个新的分支
git checkout 分支名           切换到指定分支
git  checkout -b 分支名     创建分支并切换到该分支
一个上线项目中,一般有多个用于运行的分支,生产环境一般是master分支,开发环境的dev分支,测试环境下的test分支,还有个人开发分支self[name]分支。
合并分支: 先切换分支再合并:
    git checkout master
    git merge hotfix
删除分支使用-d参数来完成,需要先checkout到别的分支,才能删除
    git checkout master
    git branch -d hotfix 
 

git使用总结(包含git commit message 和 changelog 工具的介绍)的更多相关文章

  1. git中Please enter a commit message to explain why this merge is necessary.

    Please enter a commit message to explain why this merge is necessary. 请输入提交消息来解释为什么这种合并是必要的 git 在pul ...

  2. git提示Please enter a commit message to explain why this merge is necessary

    Please enter a commit message to explain why this merge is necessary. 请输入提交消息来解释为什么这种合并是必要的(提交信息) gi ...

  3. git修改已经push的commit message

    git中修改上一次提交的commit的message git commit --amend -m "你的新的注释" git push -f 多个commit https://www ...

  4. Git 修改历史提交信息 commit message

    修改最近一条提交的消息 git commit --amend 进入vim模式 按字母 o 或者 insert键 开始修改内容 按 esc 推出编辑,最常用的是输入":q"直接退出, ...

  5. Git使用总结(包含Git Bash和Git GUI的使用)(转自CSDN)

    基本命令 初始化设置 配置本机的用户名和Email地址 $ git config --global user.name "Your Name" $ git config --glo ...

  6. Git Commit Message 规范

    今天来说说团队开发中,对于 Git commit message 规范问题. 社区上有各种 Commit message 的规范,本文介绍 Angular 规范,目前使用较广,比较合理和系统化,并且有 ...

  7. 如何写好git commit message

    1.触发事件 我有这样一个版本库,里面包含两个学习用的练习项目:BookStore(以下简称BS)和PictureFriend(以下简称PF) 我在更改PF以后,未进行提交,同时又到BS中优化了一下文 ...

  8. git commit 时出现:please enter the commit message for your changes

    每次准备提交前,先用 git status 看下,是不是都已暂存起来了,然后再运行提交命令 git commit: $ git commit 这种方式会启动文本编辑器以便输入本次提交的说明.(默认会启 ...

  9. git第四节----git commit message

    @git  commit message 什么是git commit message :git commit -m '每次提交时编辑的内容' git commit message的好处:      1 ...

随机推荐

  1. Vue的配置

    一.build:打包的配置文件的文件夹 1.build.js  生产版本的配置文件,一般这个文件我们是不改的 'use strict' //调用检查版本的文件,check-versions的导出直接是 ...

  2. AngularJS 指令中的require

    require参数可以被设置为字符串或数组,字符串代表另外一个指令的名字.require会将控制器注入到其值所指定的指令中,并作为当前指令的链接函数的第四个参数.字符串或数组元素的值是会在当前指令的作 ...

  3. python--求参赛两队所有可能的比赛组合情况

    朋友遇到一个面试题,让我帮忙实现,题目如下: 红队有A1,B1,C1三名队员,蓝队有A2,B2,C2三名队员,每轮比赛各队出一名队员参加,一名队员只能参加一次比赛,假设A1不会和B2打,B1不会和B2 ...

  4. 【图数据结构的遍历】java实现广度优先和深度优先遍历

    [图数据结构的遍历]java实现广度优先和深度优先遍历 宽度优先搜索(BFS)遍历图需要使用队列queue数据结构: 深度优先搜索(DFS, Depth First Search)的实现 需要使用到栈 ...

  5. 利用App漏洞获利2800多万元,企业该如何避免类似事件?

    上个月,上海警方抓捕了一个利用网上银行漏洞非法获利的犯罪团伙,该团伙利用银行App漏洞非法获利2800多万元. 据悉,该团伙使用技术软件成倍放大定期存单金额,从而非法获利.理财邦的一篇文章分析了犯罪嫌 ...

  6. Borrowed Time

    嘛,这是第一篇博客啦~ 应该会发知识点总结和题解一类的东西 当然也会拿这个博客当todolist使用了 希望自己可以变得更强吧

  7. [转]据说200G网盘资料

    来源:HACK学习呀 2015cracer入侵入门到精通视频教程 点我查看 trf3 一笔√带过入侵教程 点我查看 ypan [复仇者]新手入门系列(7套) 点我查看 g1tb 菜鸟入门,做的确实不错 ...

  8. OCP新题,2019题库出现大量新题,062-第22题

    choose two Your database is running in ARCHIVELOG mode. You want to take a consistent whole database ...

  9. docker容器备份、恢复和迁移volume方案

    volume作为数据的载体,在很多情况下需要对其中的数据进行备份.迁移或是恢复.下面一docker容器的volume为例,说一下备份的技巧. 我们先建立一个容器vol_simple,该容器在/date ...

  10. 【文文殿下】WC2019游记

    Day0 今天早上三点半才睡着,五点起床,前往省城郑州.与省实验常老师汇合,坐上高铁,下午三点半多才到广州二中. 下午随便找了一个教室进去敲一敲代码,发现自己越来越菜了. 和一大堆网上的dalao面基 ...