入职前回顾一下git-01

简介: 入职前回顾一下git-01

git安装

Linux上安装git

在linux上建议用二进制的方式来安装git,可以使用发行版包含的基础软件包管理工具来安装。

  • 红帽系
sudo yum install git
  • Debian系
sudo apt install git

Windows上安装git

  • 官网下载和操作系统位数相同的安装包.
  • 或者可以直接安装GitHub for Windows。该安装程序包含图形化和命令行版本的 Git。 它也能支持Powershell,提供了稳定的凭证缓存和健全的换行设置。 你可以在GitHub for Windows 网站下载

Mac上安装git

  • 通过homebrew安装git,brew install git。
  • 通过Xcode安装git,在AppStore重安装Xcode,Xcode默认集成了Git。运行Xcode选择菜单Xcode->Preferences,在弹窗中找到Download,选择Command Line Tools,点"Install"就可以完成安装了。

为什么要版本管理

  • 版本管理有一个中央服务器,可以保存所有代码、文档
  • 每一次的修改都可以提交到版本库,修改有记录,可追踪
  • 不害怕某个同事离职了,代码没有入库
  • 本地的代码流失后,可以从版本库检出
  • 多人协作,每个同事完成的工作提交到版本库,方便进行集成
  • 当我们要开发需求或修复PR时,可以从版本库上拉出分支管理
  • 在大的企业,每次提交都可能触发一次构建,实时检查代码的质量
  • 如果构建失败了,可以自动revert掉某次提交

配置git

当安装完 Git 应该做的第一件事就是设置你的用户名称与邮件地址。 这样做很重要,因为每一个 Git的提交都会使用这些信息,并且它会写入到你的每一次提交中,不可更改:

git config --global user.name "lennlouis"
git config --global user.email "lennlouis@tom.com"
  • 如果使用了--global选项,那么该命令只要运行一次,之后无论在该系统上做任何事情,git都会使用那些信息。当你想针对特定的项目使用不同的name email那就在那个项目的目录下运行没有--global选项的命令配置。
  • 很多 GUI 工具都会在第一次运行时帮助你配置这些信息。
  • 你也可以使用git config --list来查看git的所有配置。

获取帮助

若你使用 Git 时需要获取帮助,有三种方法可以找到 Git 命令的使用手册:

git help <verb>
git <verb> --help
man git-<verb>
  • 例如获得config的命令手册,执行:
git help config

创建仓库

什么是仓库呢?就是可以用git管理的一个目录,这个仓库里所有的文件的改动(增加/修改/删除)都由git跟踪记录。也能通过git查看所有的记录,当然也能够通过git“还原”到某个记录点。

mkdir git_test
cd git_test
git init

上面三个步骤就可以创建一个空的仓库了,这个时候会在仓库目录下多了一个.git目录,.git目录里由很多关于git管理的文件,有了仓库之后,我们就可以使用git add和git commit向仓库添加要跟踪的文件,和提交修改的内容了。

git add

在仓库里刚新建的文件是不会被跟踪起来的,比如我们使用git status就能查看到文件的状态,需要使用git add才可以。(为了演示需要我创建几个文件)

向暂存区添加文件
git add . # 将所有修改添加到暂存区
git add *.cpp # 将以.cpp结尾的文件的所有修改添加到暂存区
git add hello* # 将所有以Hello开头的文件的修改添加到暂存区,例如: helloWorld.txt,hello.h,helloGit.md ...
git add hello?.* # 将以hello开头后面只有一位的文件提交到暂存区 例如:hello1.txt,helloA.cpp 如果是helloGit.txt和hello.cxx是不会被添加的
删除暂存区文件

使用git rm -rf或者git rm --cached把文件从暂存区删除,不是从磁盘删除,只是不被git管理而已。

git commit

git add只是把文件添加到暂存区而已,并没有真正跟踪起来,需要使用git commit命令提交到仓库才能真正被git跟踪记录,git commit命令的用法如下:

git commit -a -m "initial commit" #把暂存区和当前已被跟踪的文件的所有的修改提交到仓库里,-m参数指定了此次提交的message内容
git commit Makefile helloworld.cpp -m "修改编译文件,添加了helloworld.cpp"

优雅地提交修改

git commit file1.name file2.name file3.name .. -m "commit message"

commit指提交修改到本地的仓库里,file*.name指的是带commit的文件 –m后面的内容指提交的信息,即备注。

git commit -a -m "commit message"

添加的-a参数会把当前暂存区里所有的修改(包括删除操作)都提交,但是那些尚未添加到暂存区的内容是不会提交的,网上有很多的博客内容说-a参数会把尚未add的文件也提交了,这个说法是错误的。

git commit --amend

把此次提交追加到上一次的commit内容里。

Angular团队规范

  • message格式
<type>(<scope>): <subject>
<BLANK LINE>  # 标题行:必填,描述主要修改类型和内容
<body>      # 主题内容:描述为什么修改,做了什么修改,开发思路等
<BLANK LINE>  # 页脚注释:放Breaking Changes或Closed Issues
<footer>
  • Type分类:
  • feat:新特性
  • fix:问题修改
  • refactor:代码重构
  • docs:文档修改
  • style:代码格式修改,注意不是css修改
  • test:测试用例修改
  • chore:其他修改,比如构建流程,依赖管理
  • scope:commit影响范围,即影响了什么模块或者组件,比如:route,component,utils,build等
  • subject:commit概述,建议符合50/72 formatting
  • body:commit具体修改内容,可以分为多行,建议符合50/72 formatting
  • footer:一些备注,通常是BREAKING CHANGE或修复的bug链接,或者feature等其他信息

使用git commit模版规范提交

  1. 在~/.gitconfig文件里添加
[commit]
  template = ~/.gitmessage

  1. 添加~/.gitmessage文件
<feat>(<>): <提交描述>
<body>
<footer>
# - type: 
    feat(新特性), 
    fix(修改问题), 
    docs(文档修改), 
    style(代码格式修改, 注意不是 css 修改), 
    refactor(代码重构), 
    test(测试), 
    chore(其他修改, 比如构建流程, 依赖管理)
# - scope: (可以为空)
    影响的的范围
# - subject
    提交描述
相关文章
|
6月前
|
Ubuntu Linux 开发工具
|
6月前
|
Linux 网络安全 开发工具
Git 详解(一)
Git 详解(一)
83 0
|
Java 开发工具 git
|
开发工具 git
|
存储 监控 JavaScript
Git 详解
Git 详解
124 0
|
Unix Linux 开发工具
2. 10幅动图教你用git
2. 10幅动图教你用git
185 0
|
存储 安全 Linux
|
关系型数据库 MySQL 应用服务中间件
Git相关知识
Git相关知识
195 0
|
开发工具 git
git 常用小技巧
git 常用小技巧
|
存储 缓存 安全
看了这边文章,你还敢说你不会用git吗
看了这边文章,你还敢说你不会用git吗
883 0

相关实验场景

更多