zoukankan      html  css  js  c++  java
  • Git——简介

    Git是什么?

    Git是目前世界上最先进的分布式版本控制系统(没有之一)。

    Git有什么特点?简单来说就是:高端大气上档次!

    那什么是版本控制系统?

    有一个软件,不但能自动帮我记录每次文件的改动,还可以让同事协作编辑,这样就不用自己管理一堆类似的文件了,也不需要把文件传来传去。如果想查看某次改动,只需要在软件里瞄一眼就可以,岂不是很方便?

    这个软件用起来就应该像这个样子,能记录每次文件的改动:

    版本文件名用户说明日期
    1 service.doc 张三 删除了软件服务条款5 7/12 10:38
    2 service.doc 张三 增加了License人数限制 7/12 18:09
    3 service.doc 李四 财务部门调整了合同金额 7/13 9:51
    4 service.doc 张三 延长了免费升级周期 7/14 15:17

    这样,你就结束了手动管理多个“版本”的史前时代,进入到版本控制的20世纪。

    • git相关概念

      • 工作目录: 持有实际文件
      • 暂存区(Index): 缓存区域,临时保存改动
      • HEAD: 指向最后一次提交的结果git
    • git常用命令操作

      • 创建新仓库
        • 创建新文件夹,打开,然后执行>git init
      • 检出仓库
        • 克隆本地仓库: git clone /path/to/repository
        • 克隆远程仓库: git clone username@host:/path/to/repository
      • 添加至暂存区
        • git add 
        • git add *
        • git add .
      • 提交
        • git commit -m "代码提交信息"
          • 改动已经提交到了 HEAD,但还没到远端仓库
      • 推送
        • git push origin master
          • master是分支名,其他分支换名即可
        • git remote add origin <server-path>
          • 若本地没有克隆现有仓库,此时想将仓库连接到某个远程服务器时可如此操作
    • 分支特性

      • 分支是用来将特性开发绝缘开来的
      • 在创建仓库的时候,master 是“默认的”分支
      • 在其他分支上进行开发,完成后再将它们合并到主分支上
    • 分支模式

    • 分支操作

      • 创建一个叫做“feature_x”的分支,并切换
        • git checkout -b feature_x
      • 切换回master分支
        • git checkout master
      • 删除分支
        • git branch -d feature_x
      • 将本地分支推动至远端
        • git push origin 
    • 更新&合并

      • 更新本地仓库至最新
        • git pull
      • 合并其他分支至自己分支
        • git merge 
    • 冲突

      • 合并时并不总是一帆风顺的,如果修改相同的数据,此时就需要进行手动解决冲突
      • 修改后添加文件. >git add 
      • 合并之前可以diff查看
        • git diff <source_branch> <target_branch>
    • 标签

      • 为指定提交添加标签
        • git tag 1.0.0 88cb7f51e1
        • 其中88cb7f51e1是标记的提交 ID 的前 10 位字符,课基于 git log来获取
        • 相当于是给提交起名
    • 日志

      • 查看本地仓库的历史记录
        • git log
      • 只看某一个人的提交记录
        • git log --author=jim
      • 压缩每一条提交记录只占一行输出
        • git log --pretty=oneline
      • 通过 ASCII 艺术的树形结构来展示所有的分支,名字+标签
        • git log --graph --oneline --decorate --all
      • 看看哪些文件改变了
        • git log --name-status
    • 恢复

      • 操作失误时替换掉本地改动
        • git checkout -- 
        • 此命令会使用 HEAD 中的最新内容替换掉你的工作目录中的文件
      • 改动本地所有文件恢复至 HEAD
        • git fetch origin
        • git reset --hard origin/master
          • master可以指定远程存在的其他分支
    • git常用配置

      • 配置提交人+邮件
        • git config --global user.name "abc" 
        • git config --global user.email "abc@123.com"

     

  • 相关阅读:
    inux按照CPU、内存、磁盘IO、网络性能监测
    监控数据库
    NMON监控工具
    AJAX
    性能经验之谈【转】
    内存/硬盘/io关系
    testng中添加案例失败重试次数
    如何使用beanshell写入数据到文件(txt、csv)
    Docker 容器中配置nginx后报403 Forbidden 解决办法
    Centos7创建支持ssh服务器的docker容器
  • 原文地址:https://www.cnblogs.com/flynn0825/p/13111562.html
Copyright © 2011-2022 走看看