一、git基本概念
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
1、什么是版本控制?
版本控制就是管理更新的历史记录,它给我们提供了一些在软件开发过程中必不可少的功能,例如:
- 记录一款软件添加或更改源代码的过程
- 回滚到特定阶段,恢复误删除的文件
- 合并多人协作的文件等
- 多人协同,文件传输
2、版本控制分类
集中式 | 分布式 |
---|---|
SVN | Git |
-
集中式版本管理
: 将所有的数据集中存放在服务器中,这是有便于统一管理的优点。但是一旦开发者所处的环境不能连接服务器,就无法获取最新源代码,开发也就无法进行。服务器宕机时也是同样的道理,而且万一服务器故障导致数据丢失,开发者可能就再也见不到最新的源代码了。
-
分布式版本管理
:
开发者环境与服务器环境之间是没有分隔的。每一个开发者都同时拥有一个用于当前文件操作的工作区。每个开发者的修改都会被载入成一次次的新版本提交。 因此从理论上来讲,我们不再需要借助服务器,就可以将某一台开发工作机上所做的所有修改直接传送给另一开发工作机。
二、git的安装与配置
1、安装
在官网进行安装,官网地址: https://git-scm.com/ ,直接点击下载即可。
2、初始化的配置
- 设置用户名
git config --global user.name "你的名字"
- 配置用户邮箱
git config --global user.email "你的邮箱"
- 查看配置列表项
git config --list
三、git的组成
git是由工作区、暂存区、版本库、本地仓库组成
工作区
: 就是你在电脑里能看到的目录,存放代码的文件夹。
暂存区
: git add以后,会将修改后的文件保存到这个区域。
版本库
: 在工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库,我们在 git init 的时候就会生成这个隐藏的目录。
本地仓库
:git commit以后,会将暂存区里对文件的更改提交到本地仓库。
四、git的使用
1、git的基本命令
1、初始化一个 Git 仓库 : git init
执行该命令之后会创建一个 .git的隐藏文件,
2、将文件上传至暂存区 : git add 文件名
3、查看当前工作区、暂存区、本地仓库的状态: git status
4、把文件提交到本地仓库 : git commit
- eg:
git commit -m "提交说明" --author="操作者姓名 <邮箱>"
- 执行
git commit
的时候,Git 会要求具有用户名和邮箱的参数选项 - 可以通过
git config
命令配置一下用户名和邮箱
5、显示从最近到最远的提交日志 : git log
- 如果嫌输出信息太多,看得眼花缭乱的,可以试试加上–pretty=oneline参数 :
git log --pretty=oneline
总结:操作 Git 的基本工作流程就是先初始化文件夹,然后修改文件,然后执行 git add
命令。该命令会把文件加入到暂存区,接着就可以执行 git commit
命令,将文件存入文档库,从而形成一次历史记录。
2、文件恢复
- 恢复暂存区的指定文件到工作区
git checkout 文件名
恢复某个commit的指定文件到暂存区和工作区
git checkout [commit] 文件名
- 恢复暂存区的所有文件到工作区
git checkout .
3、版本回退
在git中HEAD表示当前版本,HEAD^代表的是上一个版本
- 回到上一个版本
git reset --hard HEAD^
- 回到指定版本
git reset --hard [commit]
Git提供了一个命令git reflog用来记录你的每一次命令
4、删除文件
git rm 文件名
: 删除本地及仓库中的文件git rm --cached 文件名
删除仓库文件,保留本地文件git mv 旧文件名 新文件名
改名文件,并且将这个改名放入暂存区
5、分支
git branch
: 列出所有本地分支
git branch -r
: 列出所有远程分支
git branch -a
: 列出所有本地分支和远程分支
git branch 分支名
: 新建一个分支,但依然停留在当前分支
git checkout -b 分支名
:新建一个分支,并切换到该分支
五、git链接远程仓库
这里链接远程仓库有两种方法:
一、克隆远程仓库的代码
1、 在github上创建远程仓库
2、 通过 git clone
命令下载远程仓库到本地
git clone 会自动帮你把远程仓库下载到本地,不需要再去 git init 了
通过 clone 下来的仓库,git 有一个远程仓库地址列表,git 默认会把你 clone 的地址起一个别名:origin
3、git remote add origin 远程仓库地址
链接远程仓库
4、git push -u origin main
把本地代码推送远程仓库中
二、使用git init在本地创建的文件
1、 在github上创建远程仓库
2、在本地使用git init初始化一个文件夹
3、git remote add 别名 远程仓库地址
添加远程仓库信息
4、git push 仓库地址别名 master
把本地代码推送远程仓库中
如果想要省略
git push
后面指定的仓库地址别名 master
可以通过下面的命令修改git push --set-upstream 别名 master
,这样就可以直接使用git push
进行提交