zoukankan      html  css  js  c++  java
  • Git 源代码管理工具

    Git 源代码管理工具


    Git基本信息

    • Git :Git是一个“分布式”的版本控制工具
    • Git的作者是Linux之父 Linus Benedict Torvolds,当初开发Git仅仅是为了辅助Linux内核的开发
    • Git在国外已经很普及,在国内也慢慢开始普及

    Git与SVN的区别

    1. 结构:SVN是“集中式”的版本控制,Git是“分布式”的版本控制
    2. 速度:(多数情况下) Git速度高于SVN的速度
    3. 分支:SVN的分支比较笨拙,可Git可以轻松的创建无限个分支
    4. 安全:Git的数据备份比SVN更安全,因为Git数据不仅仅是存在于服务器,在每个用户端都会有完整的数据备份
    5. 旧版本的SVN会在每个文件夹下建立一个.svn文件,Git只会在根目录下创建一个.git文件

    Git的工作流程

    1. 从服务器获取代码(clone),业界称为“克隆”
    2. 修改代码后提交到本地
    3. 当需要时在提交到服务器

    Git命令行

    1. git init 创建一个仓库
    2. touch + 文件名 初始化项目,添加需要的文件
    3. git commit -m "此处是标注信息" 提交项目到版本控制
    4. git config --global user.email "xiaoming@xiaoming.com"

      git config --global user.name "Xiao Ming"

      配置全局Git的邮箱地址和用户名

    5. git commit -m "此处好似标注信息" 最后再commit一次进行提交

    Git的工作原理



    代码提交以前必须要放到stage中,图中的stage为暂缓区。然后才能通过 git commit 命令将stage中的代码提交到master中,图中的master相当于SVN中的trunk主干。

    Git版本号:commit ce126e257700f00ecd1ca1e92e58f58851ec41da git的版本号是采用MD5编码后产生的字符串。

    Git其他常用命令行

    • 基本的命令行

      1. git log 查看git日志
      2. git status 查看代码当前状态
      3. git reflog 查看指令使用记录
      4. git rm + 文件名 删除指定的文件
      5. cat .git/config 查看.git文件中的配置信息
    • 回退命令行

      1. git reset --hard HEAD^ 回退到前一个版本命令
      2. git reset --hard HEAD^^ 回退到前两个版本命令
      3. git reset --hard HEAD~N 回退到前N个版本命令(N为数字)
      4. git reset --hard 版本号 回退到指定版本号命令(此处版本号为显示的版本号的前7位)
    • 配置局部用户名和邮箱地址

      1. git config "user.name" + 用户名

      2. git config "user.email" + 用户邮箱

      ps: 配置局部Git的邮箱地址和用户名(用户名和用户邮箱配置命令必须逐条配置,否则报错)

    • 为常用指令配置别名

      1. . git config -l 查看配置
      2. . git config alias.cfg config 为config设置别名为:cfg
      3. . git config alias.st status 为status设置别名为:st
      4. . git config alias.ci "commit -m" 为commit -m设置局部别名为:ci
      5. . git config --global alias.ct "commit -m" 为commit -m设置全局别名为:ct
    • 配置个性化日志格式

      1. . git log --pretty=oneline 改变日志格式为一行

        效果:5920aa0fa5e79b04a08e077e6d6a0d159597740a this is a changed file

      2. . git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset - %C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

      git lg 改变为另一种日志格式命令(号称史上最漂亮日志格式)

      效果:* 5920aa0 - (HEAD, master) this is a changed file (6 minutes ago) <Yang Ke>

    • 分支操作

      1. git branch 查看所有分支
      2. git branch + 分支名 查看指定的分支/(若无此分支)创建分支
      3. git checkout + 分支名 切换到指定的分支
      4. git merge + 分支名(eg: v1) 将v1版本集成到当前发布版本
      5. git branch -d + 分支名 删除指定的分支

      ps:用git branch 查看结果中绿色的为正在开发的版本

  • 相关阅读:
    python连接数据库异步存储
    pythonscrapy之MySQL同步存储
    头有点大
    scrapy反爬虫
    《猫抓老鼠》
    Linux下系统监控工具nmon
    探索式测试学习资料
    开始探索式测试学习之前的思考
    Software Quality Characteristics 软件质量特性
    自动化测试整理 STAF/STAX & Robot Framework
  • 原文地址:https://www.cnblogs.com/YKiOS/p/4965976.html
Copyright © 2011-2022 走看看