文章目录
- 一.git基本概念
- 1.什么是git
- 2.git的特点
- 3.git工作流程
- 4.文件的四种状态
- 二.git的安装
- 1.在ubuntu上测试有没有安装
- 2.使用命令 sudo apt install git 进行安装
- 3.安装后查看版本,检查是否安装成功
- 三.git的使用
- 1.git常用命令
- (1)创建一个目录
- (2)使用git init 命令将其变为一个可以通过git管理的仓库
- (3)使用git add filename 添加文件到暂存区
- (4)使用git status 查看仓库状态
- (5)使用 git commit -m "版本描述信息" 提交版本到仓库
- (6)使用git log查看提交的历史记录
- (7)使用git reflog 查看对仓库的操作日志
- (8)使用git checkout filename 放弃对工作区代码的修改
- (9)使用git reset HEAD filename 从暂存区撤销
- (10)使用git rm filename 删除一个文件, 此时提交到暂存区,需要commit后才在版本库中删除
- 2.gitt分支的操作命令
- (1)查看分支: git branch
- (2)创建分支: git branch 分支名
- (3)切换分支: git checkout 分支名
- (4)创建并切换到该分支: git checkout -b 分支名
- (5)删除分支,不能删除当前所处分支,切换到其它分支再删除: git branch -d 分支名
- (6)合并某个分支到当前分支: git merge 分支名
- (7)历史记录一行显示 : git log --pretty=oneline
- (8)以图表形式显示分支:git log --graph
- (9)保护现场 git stash
- (10)列出所有保存的现场信息 git stash list
- 3.远程仓库操作
一.git基本概念
1.什么是git
Git是一款免费、开源的分布式版本控制系统,广泛应用于软件开发、协作与维护中。它最初由Linus Torvalds于2005年创造,旨在为Linux内核开发提供高效、可靠、易用的版本控制方案。
git本地有三个工作域:工作区(working directory), 暂存区(stage/index), 资源库(repository)。如果再算上远程服务器上的git仓库(remote directory)就可以分为四个工作域。其关系如下:
- Workspace: 工作区,就是你平时存放项目代码的地方
- Index / Stage: 暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息
- Repository: 仓库区(或版本库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本
- Remote: 远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换
2.git的特点
高效性:Git采用分布式版本控制系统,可以在本地进行版本控制和快速的提交、合并操作,极大地提高了开发效率。
可靠性:Git提供多种备份方案和错误恢复机制,即使遇到意外的中断或磁盘损坏等问题,也可以从备份中恢复数据。
灵活性:Git支持多种操作系统和平台,同时还允许用户自定义本地和远程仓库及代码管理方案。
安全性:Git支持多种加密和身份验证方式,可以保护代码和数据的安全性。
3.git工作流程
git工作的一般流程:
- 在工作目录中添加,修改文件
- 将需要进行版本管理的文件放入暂存区
- 将暂存区的文件提交到git仓库
4.文件的四种状态
-
Untracked: 未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged.
-
Unmodify: 文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处, 如果它被修改, 而变为Modified. 如果使用git rm移出版本库, 则成为Untracked文件
-
Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add可进入暂存staged状态, 使用git checkout 则丢弃修改过,返回到unmodify状态, 这个git checkout即从库中取出文件, 覆盖当前修改
-
Staged: 暂存状态. 执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致,文件为Unmodify状态. 执行git reset HEAD filename取消暂存,文件状态为Modified
二.git的安装
1.在ubuntu上测试有没有安装
2.使用命令 sudo apt install git 进行安装
3.安装后查看版本,检查是否安装成功
三.git的使用
1.git常用命令
(1)创建一个目录
(2)使用git init 命令将其变为一个可以通过git管理的仓库
注意事项:
第一次使用git命令提交代码之前,需要先设置用户名及邮箱,之后就不需要了:
其中 “you@126.com” 及"youname" 应替换为你后面使用的真实邮箱和名字。
(3)使用git add filename 添加文件到暂存区
(4)使用git status 查看仓库状态
(5)使用 git commit -m “版本描述信息” 提交版本到仓库
(6)使用git log查看提交的历史记录
(7)使用git reflog 查看对仓库的操作日志
(8)使用git checkout filename 放弃对工作区代码的修改
(9)使用git reset HEAD filename 从暂存区撤销
(10)使用git rm filename 删除一个文件, 此时提交到暂存区,需要commit后才在版本库中删除
2.gitt分支的操作命令
在进行多个并行作业时,通常会用到分支。
(1)查看分支: git branch
(2)创建分支: git branch 分支名
(3)切换分支: git checkout 分支名
(4)创建并切换到该分支: git checkout -b 分支名
(5)删除分支,不能删除当前所处分支,切换到其它分支再删除: git branch -d 分支名
(6)合并某个分支到当前分支: git merge 分支名
合并时可能产生冲突,需要解决冲突。
有时需要禁止快速合并,可执行:git merge --no-ff -m ‘描述’ 分支名
(7)历史记录一行显示 : git log --pretty=oneline
(8)以图表形式显示分支:git log --graph
(9)保护现场 git stash
当前工作区有代码修改了,是不能切换到其他分支,可以先保存现场,再切换
(10)列出所有保存的现场信息 git stash list
3.远程仓库操作
(1)生成通信密钥:ssh-keygen -t rsa -C “su@126.com” ,生成的公钥在/home/stu/.ssh/下,如下图
(2)测试与github或者gitee(码云)有没有连通
测试github 的命令 :ssh -T git@github.com
测试gitee 也就是码云的命令 :
(3)克隆项目:git clone 项目地址
(4) 提交分支到远程仓库:git push origin 分支名
(5) 提交分支到远程仓库,并跟踪分支 :git push -u origin 分支名
(6) 拉取远程服务器上的分支更新到本地 :git pull origin 分支名