Git基础

版本控制系统:管理随时间变化的数据

SVN 与 Git

Git

菜鸟教程

Git 是一个开源的分布式版本控制系统,不必服务器端软件支持。

概念

工作区

项目目录

版本库

是在工作区中的一个隐藏的 .git 目录,在该目录中保存了和版本相关的数据

暂存区

暂时保存版本信息的区域,是在 .git 目录中的 index 文件

安装

淘宝下载-v2.33.0

全局配置

$ git config --global user.name 用户名称
$ git config --global user.email 用户邮箱

使用

  • 在工作空间中打开 git bash 窗口,初始化创建空的版本库:
$ git init

执行结束后,会在工作空间中创建出 .git 的隐藏目录

  • 在工作空间中实现编码,在完成一个功能之后,可本地提交版本库
  • 使用 git status 查看版本库状态:
$ git status
  • 使用 git add 添加暂存区:
$ git add filename....
# 如:
$ git add src/index.html
$ git add src/css/common.css src/css/index.css
$ git add .
$ git add -A
  • 提交本地版本库:
$ git commit -m 'flag: message'

在提交版本库填写信息前,通常添加前缀标记:

chore: 表示搭建项目架构
feat: 新特性,新功能
fix: 修复 bug
doc: 编写文档
test: 测试
refactor: 项目的重构
  • 可以在工作空间中创建 .gitignore 文件,该文件中定义的是版本管理时忽略的资源:
$ touch .gitignore # 创建 .gitignore 文件
$ vi .gitignore # 编辑 .gitignore 文件

说明:在 vi 编辑器界面中,按 I 键接收输入,如果输入完毕后保存并退出,可以先按 Esc ,然后输入 :wq 回车后保存退出。

  • 可以使用 git log 查看版本库的提交日志信息:
$ git log

分支管理

  • 创建分支
$ git branch <branch-name>
# 如:
$ git branch dev
  • 查看分支
$ git branch
  • 切换分支
$ git checkout <branch-name>
# 如:
$ git checkout dev
  • 创建并切换分支
$ git checkout -b <branch-name>
  • 删除分支
$ git branch -d <branch-name>
  • 合并分支
$ git merge <branch-name> # 将指定分支内容合并到当前分支

远程中央仓库

可以将本地使用 git 管理的仓库提交到一台远程服务器上保存,可与其他用户共享仓库资源

注册并登录账号

以 gitee.com 为例

ssh key 配置

  • git bash 中生成本地的 ssh 公私钥密钥对:
$ ssh-keygen

生成成功后,在用户目录下会生成 .ssh 的目录,该目录中有两个文件:id_rsa(私钥)、id_rsa.pub(公钥)。可以将 id_rsa.pub 文件中最最后的邮箱地址修改为自己的邮箱

  • 复制 id_rsa.pub 公钥文件中的所有内容
  • 进入 gitee.com 中的个人账户:个人头像 --> 设置 --> 侧边导航菜单中 “ssh 公钥” --> 粘贴已复制的id_rsa.pub文件内容 --> 确定 --> 验证密码 --> 添加成功
  • 可使用如下命令,测试是否能够连接成功:
$ ssh -T git@gitee.com

看到类似如下提示,说明已配置成功:

Hi 小明! You've successfully authenticated, but GITEE.COM does not provide shell access.

创建远程中央仓库

在 gitee.com 个人账户中,先创建空白的版本仓库

将本地仓库与远程中央仓库关联

$ git remote add <name> <repo.url>
# 如
$ git remote add origin git@gitee.com:mobiletrain/h5-2107-js.git

对同一个名称的添加只能执行一次,如果再次执行,会报错,如:

fatal: remote origin already exists.

如果有报错,可执行 git remote remove <name> 来删除名称对应的关联:

$ git remote remove <name>
# 如
$ git remote remove origin

将本地版本库推送到远程

$ git push <remote-name> <branch-name>
# 如:
$ git push origin master

将gitee的代码拷贝回来

$ git reflog // 检查上传的目录
出现如下代码:
     6129ebb (HEAD -> master, origin/master) HEAD@{0}: commit: gulp 的安装

$ git reset --hard 6129ebb

流程

进入公司后,分配工位、电脑等

进入操作系统中安装开发环境:NodeJS、Git、VSCode(或其它的开发工具)

配置基本的环境内容,如:npm 包资源镜像、git 全局配置、ssh-key 配置、vscode 中扩展程序安装…

开发时使用 Git 的流程:

  1. 本地没有项目源代码时,下载远程中央仓库中的代码
$ git clone <repo.url>

如果本地存在项目的源代码,可更新为远程中央仓库中的最新版本的代码:

$ git pull origin master
  1. 进入工作空间中,完成任务编码
  2. 在完成一个功能并通过测试后,提交本地版本库:
$ git status # 查看版本库状态
$ git add <filename...> # 添加到暂存区
$ git commit -m 'flag: message' # 提交本地版本库
  1. 将本地版本库推送到远程中央仓库
$ git push origin master
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值