Skip to content
导航栏

Git 基本使用

作者:winter wang
更新于:11 天前
字数统计:1.7k 字
阅读时长:6 分钟
阅读量:

Git 简介

Git 官网

官网地址:https://git-scm.com/

Git 的优势

  • 大部分操作在本地完成,不需要联网
  • 完整性保证
  • 尽可能添加数据而不是删除或修改数据
  • 分支操作非常快捷流畅
  • 与Linux 命令全面兼容

Git 安装

傻瓜式安装:https://git-scm.com/downloads

Git 结构

image.png

Git 和代码托管中心

代码托管中心的任务:维护远程库

  • 局域网环境下
  1. GitLab 服务器
  • 外网环境下
  1. GitHub
  2. 码云Gitee

本地库和远程库

团队内部协作

在这里插入图片描述

跨团队协作

在这里插入图片描述

2. Git 命令行操作

2.1本地库初始化

2.1.1 命令

powershell
git init

2.1.2 效果

目录下创建一个 .git 文件夹

在这里插入图片描述

在这里插入图片描述

2.1.3 注意

.git 目录中存放的是本地库相关的子目录和文件,不要删除,也不要胡乱修改。

2.2 设置签名

2.2.1 形式

  • 用户名:tom
  • Email 地址:goodMorning@atguigu.com

2.2.2 作用

区分不同开发人员的身份

2.2.3 辨析

这里设置的签名和登录远程库(代码托管中心)的账号、密码没有任何关系。

2.2.4 命令

2.2.4.1 项目级别/仓库级别

仅在当前本地库范围内有效

powershell
git config user.name yk
git config user.email yk@yk.com

信息保存位置:./.git/config 文件 在这里插入图片描述

2.2.4.2 系统用户级别 (一般用这个就行了)

登录当前操作系统的用户范围

powershell
git config --global user.name yk
git config --global user.email yk@yk.com

信息保存位置:~/.gitconfig 文件

在这里插入图片描述

2.2.4.3 级别优先级
  • 就近原则:项目级别优先于系统用户级别,二者都有时采用项目级别的签名
  • 如果只有系统用户级别的签名,就以系统用户级别的签名为准
  • 二者都没有不允许

添加配置

git config [--local | --global | --system] user.name 'Your name'
git config [--local | --global | --system] user.email 'Your email'

查看配置

git config --list [--local | --global | --system]
  • 区别

local:区域为本仓库 global: 当前用户的所有仓库 system: 本系统的所有用户

清除设置

$ git config --unset --local user.name
$ git config --unset --global user.name
$ git config --unset --system user.name

2.3基本操作(重点)

2.3.1 状态查看

powershell
git status

查看工作区、暂存区状态

2.3.2 添加

powershell
git add [file name]

将工作区的“新建/修改”添加到暂存区

2.3.3 提交

powershell
git commit -m "commit message" [file name]

将暂存区的内容提交到本地库

2.3.4 查看历史记录

powershell
git log

在这里插入图片描述

多屏显示控制方式:

  • 空格向下翻页
  • b 向上翻页
  • q 退出
powershell
git log --pretty=oneline

在这里插入图片描述

powershell
git log --oneline

在这里插入图片描述

powershell
git reflog

在这里插入图片描述

HEAD@

2.3.5 前进后退

基于索引值操作[推荐]
powershell
git reset --hard [局部索引值]
git reset --hard a6ace91
使用^符号:只能后退
powershell
git reset --hard HEAD^
  • 注:一个^表示后退一步,n 个表示后退n 步
使用~符号:只能后退
powershell
git reset --hard HEAD~n
  • 注:表示后退n 步

2.3.6 reset 命令的三个参数对比

  • --soft 参数

仅仅在本地库移动HEAD 指针

在这里插入图片描述

  • --mixed 参数

在本地库移动HEAD 指针

重置暂存区 在这里插入图片描述

  • --hard 参数

在本地库移动HEAD 指针

重置暂存区

重置工作区

2.3.7 删除文件并找回

  • 前提:删除前,文件存在时的状态提交到了本地库。
  • 操作:git reset --hard [指针位置]
  • 删除操作已经提交到本地库:指针位置指向历史记录
  • 删除操作尚未提交到本地库:指针位置使用HEAD

2.3.8 比较文件差异

  • git diff [文件名] 将工作区中的文件和暂存区进行比较

  • git diff [本地库中历史版本] [文件名] 将工作区中的文件和本地库历史记录比较

  • 不带文件名比较多个文件

2.4分支管理

2.4.1 什么是分支?

在版本控制过程中,使用多条线同时推进多个任务

在这里插入图片描述

2.4.2 分支的好处?

  • 同时并行推进多个功能开发,提高开发效率
  • 各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可。

2.4.3 分支操作

创建分支
powershell
git branch [分支名]
查看分支
powershell
git branch -v
切换分支
powershell
git checkout [分支名]
合并分支
  • 第一步:切换到接受修改的分支(被合并,增加新内容)上
powershell
git checkout [被合并分支名]
  • 第二步:执行 merge 命令
powershell
git merge [有新内容分支名]
解决冲突
  • 冲突的表现

在这里插入图片描述

  • 冲突的解决
  1. 第一步:编辑文件,删除特殊符号
  2. 第二步:把文件修改到满意的程度,保存退出
  3. 第三步:git add [文件名]
  4. 第四步:git commit -m "日志信息"
  • 注意:此时commit 一定不能带具体文件名

3 GitHub

3.1账号信息

官网注册账户

3.2创建远程库

官网一键创建

3.3创建远程库地址别名

在这里插入图片描述

powershell
git remote -v
powershell
git remote add origin https://github.com/yk2012/Promise_demo.git   

在这里插入图片描述

取回+推送

3.4 推送

powershell
git push origin master 

然后登录GitHub账号即可

在这里插入图片描述

在这里插入图片描述

3.5 克隆

命令

powershell
git origin [远程地址]

效果

  1. 完整的把远程库下载到本地
  2. 创建origin 远程地址别名
  3. 初始化本地库

Contributors

winter wang