• git分支,git commit,git流程


    1. git分支命令规范

    1. Master 主分支
    2. Dev 开发分支
    3. Feature 功能分支(例如:feature-x)
    4. Release 预发布分支(例如:release-1.2)
    5. Bug 分支(例如:fixbug-0.1)

    2. git中commit规范

    git add后,如果没有特性描述要添加则直接执行git commit。否则使用git commit -m <mess>
    
    格式:
        <type>(<scope>):<subject>
        <BLANK LINE>
        <body>
        <BLANK LINE>
        <footer>
    说明:type表示提交类别,scope表示修改范围,subject表示标题行,body表示主体描述内容。
    
    具体:
    1. type(必须,有以下选项)
    * feat:添加新特性
    * fix:修复bug
    * docs:仅仅修改了文档
    * style: 仅仅修改了空格、格式缩进、都好等等,不改变代码逻辑
    * refactor: 代码重构,没有加新功能或者修复bug
    * perf: 优化相关,比如提升性能、体验
    * test: 增加测试用例
    * chore: 改变构建流程、或者增加依赖库、工具等
    * revert: 回滚到上一个版本
    
    2. scope(非必须,用于说明commit影响的范围,建议填写影响的功能模块,如果影响的不止一个scope,可以用星号*代替)
    
    3. subject(必须,以动词开头,使用第一人称现在时。比如change,而不是changed或changes, 第一个字母小写结尾不加句号)

    3. 创建版本库

     1 mkdir learngit
     2 cd learngit
     3 pwd
     4 git init (initalized empty Git repository in ...)
     5 ls -ah  ##(查看隐藏文件)
     6 touch readme.txt
     7 vim readme.txt
     8 i
     9 Git is a vertion system.
    10 Git is free software.
    11 ##(按下 Esc)
    12 :wq
    13 git add readme.txt
    14 git commit -m "wrote a readme file"
    15 vim readme.txt 
    16 i
    17 modify 2
    18 ##(按下 Esc)
    19 :wq
    20 git add readme.txt
    21 git commit -m "append modify 2"

    4. 时光机穿梭/版本回退

    1 git status
    2 git diff  ##(查看工作区与暂存区的所有差异)(工作区即git所在的文件夹,暂存区为git add后没commit的区域)
    3 git diff HEAD readme.txt  ##(查看文件readme.txt工作区与暂存区的的差异)
    4 git log  ##(查看历史记录)
    5 git log --pretty=oneline   ##(查看历史记录简单显示)
    6 git reset --hard HEAD^   ##(回退到上一个版本)
    7 git reset --hard 1094a    ##(回退到1094a这个版本)
    8 git reflog                       ##(记录所有使用过的版本命令)

    5. 撤销修改

    1 git checkout -- readme.txt   (撤销工作区的修改)(若没有放入暂存区则直接撤销回到版本库一模一样,若添加到暂存区则撤销到暂存区的状态)
    2 git reset HEAD readme.txt    (git add后没有commit,可以撤销放入暂存区状态重新放回工作区)

    6. 删除文件

    git add test.txt
    git commit -m "add test.txt"
    rm test.txt
    git status
    ## 选择1
    git rm test.txt  (从git中删除这个文件)
    git commit -m "remove test.txt"
    ## 选择2
    git checkout -- test.txt  (撤销误删,也就是撤销工作区删除文件的修改)

    7. 绑定远程仓库

    1 ssh-keygen -t rsa -C "youremail@example.com"
    2 回车 回车 (会在用户目录生成一个.ssh文件夹
    3 登录github,打开Account setttings,SSH Keys页面,
    4 新增一个SSH key,title随便取,在key文本框里粘贴id_rsa.pub里的内容)

    8. 添加远程库

    1 git remote rm origin (如果之前有关联过其它的origin了就要执行这一步,没有就跳过)
    2 git remote add origin https://github.com/812781386/learngit.git  
    3 git push -u origin master
    4 git remote  (查看远程库信息)
    5 git remote -v (查看更详细的远程库信息)

    9. 分支管理

    1 git branch  (查看分支)
    2 git branch dev  (创建dev分支)
    3 git checkout dev  (切换到dev分支)
    4 git checkout -b dev  (创建并切换到dev分支)
    5 git merge dev   (把dev分支合并到当前所在分支)
    6 git branch -d dev   (删除dev分支)

    10. bug分支 (当前的编码不提交先保存起来,然后去创建新分支优先修改bug)

     1 git status  (发现有modified)
     2 git stash   (把当前工作现场储存起来)
     3 git status  (发现当前 工作区是干净的了)
     4 git checkout master  (去master上去修复bug)
     5 git checkout -b issure-101
     6 vim readme.txt   (修改Git is free software 为 Git is a free software)
     7 git add .
     8 git commit -m "fix bug 101"
     9 git checkout master
    10 git merge --no-ff --m "merged bug fix 101" issure-101  (--no-ff --m表示不使用快速合并,并写入commit)
    11 git checkout devlop
    12 git stash list  (查看储存)
    13 git stash pop   (恢复同时把stash内容删除)
    14 git stash apply (恢复)
    15 git stash drop  (删除)
    16 git stash apply stash@{0}  (恢复指定的stash)

    11. 多人协作

    1 git push origin dev   (向远程库推送dev分支,远程库没有dev分支)

    12. 修改仓库名

    1 git branch -m feature-user-management    (feature-user-management新的仓库名)

    13. 冲突

    1 修改了同一个文件:
    2 git pull
    3 git status
    4 1.git merge --abort   (终止合并)
    5 2.git commit -a   (强行合并并提交,不要用)
    6 3.git add .   (强行合并并提交,也不要用)
    7 4.vim readme.txt, 手动修改

    14. 合并

     1 git checkout -b feature1
     2 vim readme.txt
     3 (修改一下后保存)
     4 git add reamde.txt
     5 git commit -m "this is reature1"
     6 git checkout master
     7 vim readme.txt
     8 (修改一下后保存)
     9 git add readme.txt
    10 git commit -m "this is master"
    11 git merge feature1
    12 git status
    13 vim readme.txt
    14 (手动修改冲突)
    15 git add readme.txt
    16 git commit -m "conflict fixed"
    17 git log --graph --pretty=oneline --abbrev-commit  (查看分支合并情况)

     15. 退出

    1 当使用git logs时,窗口显示滚动,按q 退出
    2 git push -f     (强制提交)
  • 相关阅读:
    phpstorm常用快捷键
    tp3.2.3运用phpexcel将excel文件导入mysql数据库
    TP3.2加载外部PHPexcel类,实现导入和导出
    Navicat常用快捷键
    thnkphp框架面试问题
    PHPSQL注入
    PHP4个载入语句的区别
    goflyway简单使用
    ubuntu16.04 HyperLedger Fabric 1.2.0 开发环境搭建
    DApp demo之pet-shop
  • 原文地址:https://www.cnblogs.com/wangrui38/p/11430937.html
Copyright © 2020-2023  润新知