0%

【Git】Git的基础使用

git的最基础使用

1. 版本控制

1.1 介绍

  • 版本控制:一种在开发骨偶成中用于管理我们对文件、目录或工程的等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术

1.2 版本控制工具

  • (1)Git
  • (2)SVN(Subversion)
  • (3)CVS(Concurrent Version System)
  • (4)VSS(Micorosoft Visual SourceSafe)
  • (5)TFS(Team Foundation Server)
  • (6)Visual Studio Online

1.2 分类

  • (1)集中版本控制
    • 所有版本的数据都存在服务器上,用户的本地只有自己以前所同步的版本。而且所有数据都保存在一个服务器上,一旦服务器挂了,影响非常大【代表:SVN】
  • (2)分布式版本控制
    • 所有版本信息仓库全部同步到本地的每一个用户,这样就可以在本地查看所有版本历史,可以离线在本地提交。【代表:Git】

2.Git环境配置

2.1 下载

2.2 安装

  • 除了安装路径以外,全部默认安装即可
  • 安装后鼠标右键出现”Git Bash””Git GUI”即安装成功
  • Git Bash:Unix与Linux风格的命令行,使用最多,推荐最多
  • Git CMD:Windows风格的命令行
  • Git GUI:图形界面的Git,不建议初学者使用,经理先熟悉常用命令

2.3 linux常用命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
cd: 改变目录
pwd:显示当前所在的目录路径
ls:都是列出当前目录文件
touch:新建一个文件,如`touch index.js`就会生成一个index.js
rm:删除一个文件,如`rm index.js`就会移除index.js
mkdir:新建一个文件夹,如`mkdir 测试`就会创建名为测试的文件夹
rm -r:删除一个文件夹,如`rm -r src`删除src文件夹
mv:移动文件,如`mv index.js src`移动index.js文件到src文件夹下
reset:重新初始化终端
clear:清屏
history:产看历史命令
help:帮助
exit:退出
#:表示注释

2.4 Git配置

  • (1)系统配置
    • git config --system --list:查看系统配置
    • 文件路径:安装目录/etc/gitconfig
  • (2)用户配置(必须配置)
    • git config --global user.name "用户名":配置用户名
    • git config --global user.email "邮箱":配置邮箱
    • git config --global --list:查看用户配置
    • 文件路径:C:\Users\计算机用户名.gitconfig

3. Git基本理论

  • Git本地有三个工作区域:
    • 工作目录(working Directory):平时存放代码的地方
    • 暂存区(Stage / Index):用于临时存放你的改动,事实上只是一个文件,保存将要提交到文件列表信息
    • 本地仓库(Repository / Git Drectory):安全存放数据库的位置。其中HEAD文件指向最新放入仓库的版本
  • Git远程工作区域
    • git仓库(Remote Directory):托管代码的服务器
  • 工作区之间的关系

4. Git项目搭建

4.1 创建仓库

  • (1)创建全新本地仓库
    • git init:会自动生成.git的隐藏文件
  • (2)克隆远程仓库
    • git clone 仓库地址
    • 仓库地址可以用github / gitee 寻找

5. Git文件操作

5.1 文件的4种状态

  • (1)Untracked:未追踪;此文件在文件夹中,但并没有加入的git库,不参与版本控制,通过git add将状态转变为Staged
  • (2)Unmodify:未修改;即版本库中的文件快照内容与文件夹完全一致
  • (3)Modified:文件已修改;仅仅是修改,没有进行其他操作。可通过git add暂存为staged状态,使用git checkout丢弃修改,返回未修改的状态
  • (4)Staged:暂存状态;执行git commit则将修改同步到库中,此时库中的文件和本地文件一致。

5.2 查看文件的状态

  • (1)git status [filename]:查看指定文件状态
  • (2)git status:查看所有文件状态

5.3 Git常见提交指令

  • (1)git add .:添加所有文件到暂存区
  • (2)git commit -m "提交信息":将暂存区的文件提交到本地仓库

5.4 忽略提交文件

  • 创建.gitignore,里面配置要忽略的文件
1
2
3
4
5
6
#为注释
*.txt #忽略所有.txt结尾的文件
!lib.txt #lib.txt不忽略
/temp #仅忽略temp文件夹下的文件,子目录文件不忽略
build/ #忽略build/目录下的所有文件,包含子目录
doc/*.txt #仅会忽略doc文件夹下的.txt文件,子目录不会忽略

6. Gitee使用

6.1 生成免密公钥

公钥可以在本地仓库提交到远程仓库是免密提交

  • (1)执行命令ssh-keygen:生成公钥,生成时可以填写一些基本信息
  • (2)打开本地文件:C:/Users/计算机用户名/.ssh,将生成的id_rsa里面的内容复制到gitee上

6.2 使用远程仓库

  • 方式一:新建仓库,然后克隆到本地即可
  • 方式二:通过仓库地址,用git指令关联
1
2
3
4
5
//关联仓库地址(xxxx.git)
git remote add origin 仓库地址

//第一次上传仓库
git push -u origin master

7 分支Branch

7.1 介绍

7.2 常用命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# 查看分支
git branch #查看本地分支列表
git branch -r #查看远程分支列表
git branch -a #查看本地和远程分支列表


# 创建分支
git branch 分支名 #新建一个本地分支,但仍然停留在当前分支
git checkout -b 分支名 #新建一个本地分支,并切换到该分支


# 切换本地分支
git checkout 分支名


# 合并分支
git merge 分支名 #将当前分支和指定分支合并


# 删除分支
git branch -d 分支名 #删除本地分支
git branch -D 分支名 #强制删除本地分支

git branch -dr 分支名 #删除远程分支
git push origin --delete 分支名 #删除远程分支

8 缓存Stash

8.1 介绍

  • git stash是git一个很有用的命令,它的作用是把当前未提交的修改暂存起来,让仓库还原到最后一次提交的状态
  • 一般用户代码拉取(pull)时,为了防止自己修改的设置被覆盖,一般将修改内容放入缓存,再拉取代码,代码拉取成功之后,将缓存中的数据进行覆盖

8.2 常用指令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 放入缓存
git stash
git stash save "信息" #放入缓存带自定义信息


# 查看缓存
git stash list #查看缓存列表,缓存以'stash@{缓存id}'列表保存
git show stash@{缓存id} #查看缓存详细信息


# 取出缓存(取出后自动删除)
git stash pop #默认取出第一条缓存
git stash pop stash@{缓存id} #取出指定缓存


# 删除缓存
git stash drop #默认删除第一条缓存
git stash drop stash@{缓存id} #删除指定缓存
git stash clear #删除所有缓存

9 工作常见情况

9.1 提交特定的代码

  • 遇到这种需求,使用IDEA来进行代码的提交会比较稳妥

9.2 commit取消

  • 工作中出现commit错的代码,如何将此commit取消

9.3 仓库代码回退

  • 当将错误的commit提交到远程仓库后,需要对仓库代码进行回退
  • 此时本地的代码已经回退了,接下来就是将本地的代码提交到远程仓库中