乐趣区

关于git:请收下这份-Git-扫盲手册

大家好,我是小七

前言

Git是程序员写我的项目必备的一个工具,工欲善其事必先利其器,显然这把武器对于我来时只是施展了它最简略的性能,这不,前两天我就在分支上合错代码了,尽管共事没说什么,然而这还是很不应该犯的错,于是我决定对 Git 做一个较为具体的学习和总结。

Git 介绍

Git是一个开源的分布式版本控制系统,能够无效、高速的治理从很小到十分大的我的项目版本治理。它不须要网络的反对,现已成为很多开发人员对我的项目版本治理的首选,也能够用来治理本人的一般文档版本。

Git的命令很多,在日常开发中应用都只须要用到几个简略的命令即可,所以本文会先从_名词解析_介绍,在介绍 Git 的_常用命令_在我的项目中的利用。

名词解析

对于 Git 能够在官网下载应用,在介绍命令前也来了解几个名词概念

工作区

指的是在电脑里能看到的目录,目录里有你操作的各种文件

版本库

在工作区有一个暗藏的文件叫 .git,这个就是Git 的版本库,版库里蕴含称为 stage 的暂存库,还有 Git 给咱们创立的第一个分支 master,以及指向master 的指针HEDE

近程仓库

githubgitlabgitee这写平台上创立的代码仓库,与本地版本库做关联,就能实现上传版本我的项目或文档

常用命令

Git在工作中罕用的命令有

  • git config
  • git init
  • git clone
  • git status
  • git add
  • git commit
  • git log
  • git reset
  • git push
  • git pull
  • git stash
  • git branch
  • git checkout
  • git merge
  • git fetch
  • git tag

接下来会一一介绍这么命令的用法

git config

配置个人信息,包含用户名和邮箱

git config --global user.name "my name"
git config --global user.email "my email.com"

这样在代码后提交的提交记录,就会是有本人设置的个人信息,一部分公司也会依据代码提交的信息对代码做审核决定年终考评奖金等

ssh-keygen -t rsa -C "my email.com"

创立秘钥,生成的秘钥放在 ~/.ssh 目录下,依据提醒全副回车即可,操作实现之后将公钥放在 github 仓库中,之后操作我的项目就免密输出了

git init

初始化 git 仓库

git init

初始化一个 Git 仓库

git clone

克隆近程仓库

git clone < 近程仓库链接 >

以后的文件夹里就会把近程仓库的我的项目下载到本地

git status

查看文件变动状态

git status

能够看到我的项目中的文件是否提交

git add

把工作区的文件提交到暂存区

git add < 文件名 >
git add .    // 提交工作区全副文件

是提交文件的第一步

git commit

把工作区的文件提交到 git 仓库

git commit -m < 提交信息 >

提交文件的第二步

git commit --amend -m < 新的提交信息 >

参数 --amend 岂但能够批改提交信息,如果暂存区有批改的话还能把上一次的提交替换掉

提交信息标准

  • fix:修复了一个 bug
  • feat:新增了一个性能
  • refactor:重构某块代码
  • perf:改良性能
  • docs:文档相干
  • test:测试相干
  • ciCI/CD 相干
  • chore:其余类型

举例:如果新增了一个登陆性能提交信息能够为,feat: 增加登陆性能

git log

查看版本提交记录

git log  // 查看最近三次提交
git log --pretty=oneline  // 一行输入提交信息

能够查看到版本的提交信息,包含提交人,日期,提交起因,提交的惟一编号等

git reset

版本回退

git reset --hard HEAD^

HEAD^回退到上一个版本并且提交内容也会还原到上一个版本,HEAD代表版本,回退到前 n 个版本可用 HEAD~N 示意

git push

把 git 仓库里的文件推送到近程仓库

在提交前能够给近程仓库起一个别名

git remote -v  // 查看所有近程仓库别名
git remote add [别名] [近程仓库地址]
git push -u [别名] [分支名]

提交文件最初一步,-u用于第一次推送,能够把本地分支和近程仓库分支做关联。之后提交就不必加 - u 参数了。

git pull

把近程仓库的最新代码拉取到本地并合并

git pull [别名] [分支名]

能够拉取近程仓库的代码并合并到本地 相当于git fetchgit merge

git fetch

只是拉取近程仓库代码

git fetch [别名] [分支名]

取回更新后,会返回一个 FETCH_HEAD,指的是某个branch 在服务器上的最新状态,咱们能够在本地通过 git log -p FETCH_HEAD 查看刚取回的更新信息

通过这些信息来判断是否产生抵触,以确定是否将更新 merge 到以后分支

git merge

将指定分支合代码并到以后分支

git merge < 指定分支名 >

合并代码时可能会产生抵触,解决即可失常运行

git stash

保留以后批改

git stash

把以后批改版本保留下来,能够切换到其余分支或拉取近程分支也不会有抵触

git stash pop 

把保留的版本取出来

git stash list

查看所有保留版本的信息,存储能够间接通过索引的地位来取得stash@{n}.

git branch

对分支进行增删改查的操作

git branch

查看本地分支列表

git branch < 分支名 >

新建一个分支并命名

git branch -m < 旧分支名 > < 新分支名 >

批改本地分支名

git branch -d < 分支名 >

删除本地分支

分支命名标准

  • master 主分支
  • develop 开发分支
  • feature/xxx 新性能分支
  • bugfix/xxx 修复 bug 分支
  • hotfix/xxx 热修复分支,修复紧急bug
  • release/x.x.x 新版本分支

git checkout

切换分支

git checkout < 分支名 >

切换到指定分支上

git tag

为我的项目标记里程碑

git tag < 标签名 >

可在重要节点为我的项目代码做一个标记

总结

上述命令只是 git 的常用命令,把这些把握了,应答日常开发是齐全足够的,遇到一下简单的状况,Google一下即可,记得要把你遇到的问题和解决的计划都记录下来哦,这样再遇到相似问题就能触类旁通了,把每一个踩过的坑都变成你成长的营养

我是小七,一个喜爱读书的的程序媛小姐姐,初入职场还有很多须要学习,喜爱分享本人的生存感悟和小菜鸡的技术总结,感兴趣的能够搜寻 wx 搜寻,我说姑娘,关注我,和我一起成长吧!

退出移动版