Git

安装

CentOS 7

centos 7 yum文件源git版本有点老(1.8.3.1),不建议使用yum安装git

如果已经安装 执行 yum remove git 卸载

安装依赖库

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel 
yum install gcc-c++ perl-ExtUtils-MakeMaker

下载源文件

wget https://www.kernel.org/pub/software/scm/git/git-2.18.0.tar.gz

可访问下载界面open in new window查看版本信息,选择需要的版本

解压源文件

tar xf git-2.18.0.tar.gz

编译安装

依次执行以下指令

cd git-2.18.0
make configure
./configure --prefix=/usr/git
make install

如在make configure命令执行后出现以下错误

/bin/sh: autoconf: command not found

make: *** [configure] Error 127

执行命令yum install autoconf automake libtool安装对应依赖即可

添加到环境变量

echo "export PATH=$PATH:/usr/git/bin" >> /etc/profile
source /etc/profile

至此安装完成,输入 git --version检查版本号

Windows

点击下载安装包open in new window

macOS

下载地址open in new window

Homebrew

brew install git

MacPorts

sudo port install git

常用指令

分支

  • 查看当前分支:git branch

  • 新建分支:git checkout -b newbranch

  • 提交到远程:git push origin newbranch

  • 切换到xxx分支:git checkout xxx

  • 拉取最新master代码:git pull origin master

  • 合并xxx分支到当前分支(在非xxx分支操作):git merge xxx

  • 查看修改状态:git status

  • 删除分支

    • 先切换到别的分支: git checkout xxx
    • 删除本地分支: git branch -d branchName
    • 如果删除不了可以强制删除:git branch -D branchName
    • 有必要的情况下,删除远程分支:git push origin --delete branchName

commit

  • 修改最后一条commit信息: git commit --amend
  • 回退到某次commit
    • 本地回退:git reset --hard <commit_id>
    • 远程回退:git push origin HEAD --force
  • commit 类型
    • feat: 添加新特性
    • fix: 修复bug
    • docs: 仅仅修改了文档
    • style: 仅仅修改了空格、格式缩进、都好等等,不改变代码逻辑
    • refactor: 代码重构,没有加新功能或者修复bug
    • perf: 增加代码进行性能测试
    • test: 增加测试用例
    • chore: 改变构建流程、或者增加依赖库、工具等

图标

名称图标代码备注
庆祝🎉:tada:初次提交
火花:sparkles:引入新功能
书签🔖:bookmark:发行/版本标签
bug🐛:bug:修复bug
救护车🚑:ambulance:重要补丁
地球🌐:globe_with_meridians:国际化于本地化
口红💄:lipstick:更新UI和样式文件
场记板🎬:clapper:更新演示/示例
警车灯🚨:rotating_light:移除linter警告
扳手🔧:wrench:修改配置文件
加号:heavy_plus_sign:增加一个依赖
减号:heavy_minus_sign:减少一个依赖
上升⬆️:arrow_up:升级依赖
下降⬇️:arrow_down:降级依赖
上升趋势📈:chart_with_upwards_trend:添加分析或跟踪代码
火箭🚀:rocket:部署功能
白色复选框:white_check_mark:增加测试
备忘录📝:memo:撰写文档
锤子🔨:hammer:重大重构
调色板🎨:art:改进代码结构/代码格式
火焰🔥:fire:移除代码或文件
铅笔✏️:pencil2:修复typo
施工🚧:construction:工作进行中
工人👷:construction_worker:添加CI构建系统
绿心💚:green_heart:修复CI构建问题
🔒:lock:修复安全问题
鲸鱼🐳:whale:Docker相关工作
苹果🍎:apple:修复macOS下的问题
企鹅🐧:penguin:修复Linux下的问题
旗帜🏁:checkered_flag:修复 Windows 下的问题
上次更新:
Contributors: zhouqh