入职前回顾一下git-01

花瓣小跑  论坛元老 | 2024-8-26 23:27:54 | 来自手机 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 1895|帖子 1895|积分 5685

git安装

Linux上安装git

在linux上发起用二进制的方式来安装git,可以利用发行版包含的根本软件包管理工具来安装。


  • 红帽系
  1. sudo yum install git
复制代码


  • Debian系
  1. 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->references,在弹窗中找到Download,选择Command Line Tools,点"Install"就可以完成安装了。
为什么要版本管理




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

当安装完 Git 应该做的第一件事就是设置你的用户名称与邮件地点。 这样做很紧张,由于每一个 Git的提交都会利用这些信息,并且它会写入到你的每一次提交中,不可更改:
  1. git config --global user.name "lennlouis"
  2. git config --global user.email "lennlouis@tom.com"
复制代码


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

若你利用 Git 时必要获取帮助,有三种方法可以找到 Git 下令的利用手册:
  1. git help <verb>
  2. git <verb> --help
  3. man git-<verb>
复制代码


  • 例如获得config的下令手册,执行:
  1. git help config
复制代码


  • 官方文档
创建堆栈

什么是堆栈呢?就是可以用git管理的一个目次,这个堆栈里所有的文件的改动(增长/修改/删除)都由git跟踪记录。也能通过git查察所有的记录,当然也可以或许通过git“还原”到某个记录点。
  1. mkdir git_test
  2. cd git_test
  3. git init
复制代码
上面三个步骤就可以创建一个空的堆栈了,这个时候会在堆栈目次下多了一个.git目次,.git目次里由很多关于git管理的文件,有了堆栈之后,我们就可以利用git add和git commit向堆栈添加要跟踪的文件,和提交修改的内容了。

git add

在堆栈里刚新建的文件是不会被跟踪起来的,好比我们利用git status就能查察到文件的状态,必要利用git add才可以。(为了演示必要我创建几个文件)

向暂存区添加文件

  1. git add . # 将所有修改添加到暂存区
  2. git add *.cpp # 将以.cpp结尾的文件的所有修改添加到暂存区
  3. git add hello* # 将所有以Hello开头的文件的修改添加到暂存区,例如: helloWorld.txt,hello.h,helloGit.md ...
  4. 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下令的用法如下:
  1. git commit -a -m "initial commit" #把暂存区和当前已被跟踪的文件的所有的修改提交到仓库里,-m参数指定了此次提交的message内容
  2. git commit Makefile helloworld.cpp -m "修改编译文件,添加了helloworld.cpp"
复制代码

优雅地提交修改

  1. git commit file1.name file2.name file3.name .. -m "commit message"
复制代码
commit指提交修改到当地的堆栈里,file*.name指的是带commit的文件 –m背面的内容指提交的信息,即备注。
  1. git commit -a -m "commit message"
复制代码
添加的-a参数会把当前暂存区里所有的修改(包括删除操作)都提交,但是那些尚未添加到暂存区的内容是不会提交的,网上有很多的博客内容说-a参数会把尚未add的文件也提交了,这个说法是错误的。
  1. git commit --amend
复制代码
把此次提交追加到上一次的commit内容里。
Angular团队规范



  • message格式
  1. <type>(<scope>): <subject>
  2. <BLANK LINE>        # 标题行:必填,描述主要修改类型和内容
  3. <body>                        # 主题内容:描述为什么修改,做了什么修改,开发思路等
  4. <BLANK LINE>        # 页脚注释:放Breaking Changes或Closed Issues
  5. <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模版规范提交


  • 在~/.gitconfig文件里添加
  1. [commit]
  2.         template = ~/.gitmessage
复制代码


  • 添加~/.gitmessage文件
  1. <feat>(<>): <提交描述>
  2. <body>
  3. <footer>
  4. # - type:
  5.     feat(新特性),
  6.     fix(修改问题),
  7.     docs(文档修改),
  8.     style(代码格式修改, 注意不是 css 修改),
  9.     refactor(代码重构),
  10.     test(测试),
  11.     chore(其他修改, 比如构建流程, 依赖管理)
  12. # - scope: (可以为空)
  13.     影响的的范围
  14. # - subject
  15.     提交描述
复制代码
推荐课程:https://xxetb.xetslk.com/s/3oyV5o

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

花瓣小跑

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表