git 基本操作整理

159 阅读5分钟

1. 解决问题

image.png

2. 什么是git

Git不是一项技术,只是一个工具。用来对代码进行版本控制

在实际开发中,我们做的项目可能比较庞大,需求也不是很固定,那么我们写的代码有可能删了写,写了删。那么就需要对代码进行一个临时保存,就需要对代码进行版本保存了。

3. 常见的代码版本工具

git: 分布式的版本控制工具

svn: 集中式的版本控制工具(了解)

4. 安装

下载安装地址: git-scm.com/downloads

测试是否安装成功: git --version

image-20220418102453963.png

5. 安装后全局配置用户名与邮箱

配置用户名: git config --global user.name 'xxxx'

配置邮箱: git config --global user.email 'xxx@qq.cn'

通过 git config --global user.name 和 git config --global user.email 配置的用户名和邮箱地址,会被写入到 C:/Users/用户名文件夹/.gitconfig 文件中。这个文件是 Git 的全局配置文件,配置一次即可永久生效。

6. git工作的基本流程

工作目录暂存区版本仓库
被git管理的工具目录临时存放被修改的文件用于存入提交记录

二.基础操作

1.初始化项目仓库

git init

会在项目的根目录下创建.git文件夹,该文件夹就是git本地仓库

如:创建一个测试工作目录test,在test中就会创建一个隐匿文件夹

image-20220418103200052.png

2.添加代码到暂存区

git add 文件

3.添加暂存区的代码在本地版本库

git commit -m '描述信息'

4.查看文件状态

git status

git status -s 或 git status --short

查看文件现在的状态:

红色: 代表文件现在处于工作区 image-20220418105700131.png

绿色: 代表文件现在处理暂存区

image-20220418105759888.png

无信息: 代表现在文件处于已提交状态(版本库与工作区的代码是一致的)

image-20220418105927369.png

5.一次向暂存区提交多个文件

git add .

6.查看提交的历史记录

git log 当前所在历史记录之前的

git reflog 所有历史记录

image-20220418110240830.png

7. 切换历史记录版本

git reset --hard '历史记录版本号'

8. git忽略文件.gitignore

有时候有些文件无需纳入 Git 的版本管理中.

在这种情况下,我们可以创建一个名为 .gitignore 的配置文件,列出要忽略的文件的匹配模式。

.gitignore 的格式规范如下:

以 # 开头的是注释

以 / 结尾的是目录

...

三.分支

1.分支的概念与作用

概念:

分支就是科幻电影里面的平行宇宙

简单的理解: 分支相当于工作区的一个副本.将当前工作区域的代码拷贝了一份.

作用:

在进行多人协作开发的时候,为了防止互相干扰,提高协同开发的体验,建议每个开发者都基于分支进行项目 功能的开发

2.查看分支

git branch

git默认有一个分支: master

image-20220419095347062.png

3.创建分支

git branch 新分支名称

image-20220419095854068.png

4.切换分支

git checkout 分支名称

image-20220419100604455.png

5.创建分支及切换分支

快捷命令: git checkout -b 新分支名称

image-20220419103858868.png

6.合并分支

git merge 分支名称

注意: 合并分支时要切换到另一个分支才能合并,不能自己合并自己

例如: 要把dev分支的代码合并到master分支,要先切换到master分支,再去合并dev分支

image-20220419101842742.png

7.删除分支

git branch -d 分支名称

注意: 1 删除分支时要先切换分支,不能自己删除自己

2 删除分支时一定要先合并,才能删除

如果没有合并就想强制删除: git branch -D 分支分称

四.远程操作

1.开源项目托管平台

专门用于免费存放开源项目源代码的网站,叫做开源项目托管平台。目前世界上比较出名的开源项目托管平台主要有以下 3 个: Github(全球最牛的开源项目托管平台,没有之一) Gitlab(对代码私有性支持较好,因此企业用户较多) Gitee(又叫做码云,是国产的开源项目托管平台。访问速度快、纯中文界面、使用友好)

2.注册登录github或gitee

github网址: github.com/

gitee网址: gitee.com/

3.多人协作开发流程

  • A在自己的计算机中创建本地仓库
  • A在github或gitee中创建远程仓库
  • A将本地的仓库推送到远程仓库
  • B克隆远程仓库到本地进行开发
  • B将本地仓库中开发的内容推送到远程仓库
  • A将远程仓库中的最新内容拉取到本地

image-20220418143104449.png

4.本地仓库推送到远程仓库

4.1 推送远程仓库操作

git push 远程仓库的地址 本地分支名称:远程分支名称

本地分支与远程分支名称一致时:可以简写成下面的方式

git push 远程仓库的地址 分支名称 image-20220419145405249.png

4.2推送远程仓库的简化操作:分为两步

第一步:设置别名

git remote add 别名 远程仓库的地址

例如: git remote add origin 远程仓库的地址

第二步:推送到远程仓库

git push 别名 分支名称

例如: git push origin master

4.3推送远程仓库的再次简化操作

第一次: git push -u 别名 分支名称

第2~N次: git push

总结

git remote add 别名 远程仓库的地址

第一次:git push -u 别名 分支名称

后续操作: git push

5.克隆仓库到本地

git clone 远程仓库地址

6.拉取远程仓库到本地

git pull 远程仓库地址 分支名称

7.多人开发时冲突的解决

8.ssh协议推送到远程仓库

image-20220418162804919.png

8.1创建公钥与私钥

ssh-keygen

生成的公钥与私钥存放地址: C:\Users\用户名.ssh

公钥文件: id_rsa.pub

私钥文件: id_rsa

8.2 将公钥文件 id_rsa.pub的字符串复制添加到远程仓库中

image.png

8.3 给shh协议的地址起别名

image-20220420093100095.png

8.4 通过ssh协议地址提交代码

image-20220420093151490.png