当前位置:   article > 正文

Git详解_查看git

查看git

一.版本控制

版本控制(Revision control)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。用于解决代码备份、版本控制、协同工作、责任追溯等开发中的问题。

2.版本控制分类

2.1 集中版本控制 SVN
SVN是集中式版本控制系统,所有的版本数据都保存在服务器上,开发者需要从中央服务器下载最新的版本,然后开发,开发后再把自己开发的代码提交到中央服务器。

可能出现的问题:

  1. 服务器单点故障:将会导致所有人无法工作
  2. 服务器硬盘损坏:丢失所有的数据,当然可以定期备份
  3. 如果不联网的话,用户看不到历史版本,也无法切换版本验证问题,或在不同分支工作

2.2 分布式版本控制 Git
所有的版本信息远程仓库全部同步到本地的每个用户,可以在本地查看所有版本历史,可以离线在本地提交,只需在连网时push到相应的服务器或其他用户那里。由于每个用户保存的都是所有的版本数据,只要有一个用户的设备没有问题就可以恢复所有的数据。Git可以直接看到更新了哪些代码和文件
可能出现的问题:

  1. 安全隐患:每个人都拥有全部代码
  2. 增加了本地存储空间的占用

二、Git下载和安装

具体请看 Git下载与安装

三、Git必要的配置

查看配置 git config -l
在这里插入图片描述
查看不同级别的配置文件:
git config --system --list 查看系统配置
git config --global --list 查看当前用户(global)配置

Git必要设置 设置用户名与邮箱(用户标识,必要)
当安装Git后首先要做的事情是设置你的用户名称和e-mail地址。这是非常重要的,因为每次Git提交都会使用该信息。它被永远的嵌入到了你的提交中。
配置方法:


git config --global user.name "czm"  #名称
git config --global user.email "670495662@qq.com"   #邮箱
  • 1
  • 2
  • 3

–global为全局配置,只需要配置一次。如果你想要在一个特定的项目中使用不同的名称或e-mail地址,你可以在该项目中运行该命令而不要–global选项。
配置完后在本地 C:\Users\Administrator(本机名)\ .gitconfig 能查看自己的配置。
在这里插入图片描述

四、基础理论

1.Git 的四个区域
Git总共有4个区域,在本地有三个区域,分别是 工作区(Workspace)、暂存区(Stage/Index)、本地仓库(Repository或Git Directory),以及远程git仓库(Remote Directory)。文件在这四个区域之间的转换关系如下:
在这里插入图片描述

Workspace:工作区,就是平时存放项目代码的地方
Stage/Index:暂存区,代码提交到仓库之前的临时存储空间
Repository:本地仓库,存放不同版本的代码,例如:(完成了项目10%的代码、完成项目20%的代码)
Remote Directory:远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换
修改、新建的文件都在工作区,都需要先add到暂存区,再commit到本地仓库,再push到远程仓库\

2、Git常用命令
在这里插入图片描述

git工作流程
git的工作流程一般是这样的:

1、在工作目录中添加、修改文件;
2、将需要进行版本管理的文件放入暂存区域;
3、将暂存区域的文件提交到本地仓库。

本地仓库搭建
创建本地仓库的方法有两种:一种是创建全新的仓库,另一种是克隆远程仓库;
1.创建全新的仓库
1.1 在当前目录下,右键,点击Git Bash Here
在这里插入图片描述
1.2 进入黑窗口,输入 git init 命令
在这里插入图片描述
1.3 在当前目录中可以看到 .git 文件,则初始化成功,关于版本等的所有信息都在.git目录里面。

克隆远程仓库
在这里插入图片描述
注意:.git 文件不一定能看得到,需要设置显示隐藏文件夹
在这里插入图片描述
2.克隆远程仓库
1.1 在当前目录下,右键,点击Git Bash Here
在这里插入图片描述
1.2 进入黑窗口,输入 git clone [远程仓库地址] 命令
远程仓库地址可以是gitee或github上的,例如 https://gitee.com/kuangstudy/openclass.git , 克隆是克隆一个项目和它的整个代码历史(版本信息)

Git忽略文件

有些时候我们不想把某些文件纳入版本控制中,比如数据库文件,临时文件,设计文件等在主目录下建立".gitignore"文件,此文件有如下规则:

忽略文件中的空行或以井号(#)开始的行将会被忽略。

可以使用Linux通配符。例如:星号(*)代表任意多个字符,问号(?)代表一个字符,方括号([abc])代表可选字符范围,大括号({string1,string2,...})代表可选的字符串等。

如果名称的最前面有一个感叹号(!),表示例外规则,将不被忽略。

如果名称的最前面是一个路径分隔符(/),表示要忽略的文件在此目录下,而子目录中的文件不忽略。

如果名称的最后面是一个路径分隔符(/),表示要忽略的是此目录下该名称的子目录,而非文件(默认文件或目录都忽略)。


#为注释
*.txt        #忽略所有 .txt结尾的文件,这样的话上传就不会被选中!
!lib.txt     #但lib.txt除外
/temp        #仅忽略项目根目录下的TODO文件,不包括其它目录temp
build/       #忽略build/目录下的所有文件
doc/*.txt    #会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

常用的忽略文件
在这里插入图片描述
在这里插入图片描述

五.Git版本管理

5.1历史版本切换
在这里插入图片描述
git reflog :可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录的操作),查看版本的唯一索引
在这里插入图片描述

使用指令 git reset --hard 版本唯一索引值 进行版本切换
在这里插入图片描述

5.2 分支管理
分支:由每次提交的代码,串成的一条时间线,使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。 分支就像是科幻电影里面的平行宇宙,如果两个平行宇宙互不干扰,那对现在的你也没啥影响。不过,在某个时间点,两个平行宇宙合并了,我们就需要处理一些问题了!

分支工作流程:

  • Master: 指向提交的代码版本
  • Header: 指向当前所使用的的分支
    在这里插入图片描述
    当主分支和新分支合并时,Master指向新分支。Head指向Master主分支
    在这里插入图片描述

5.3分支管理操作

  • 创建和切换

    创建命令:git branch 分支名
    切换命令:git checkout 分支名

  • 新分支添加文件

    查看文件命令:ls

    总结:不同分支之间的关系是平行的关系,不会相互影响

  • 合并分支

    合并命令:git merge 分支名

  • 删除分支

    删除命令:git branch -d 分支名

  • 查看分支列表

    查看命令:git branch

6.远程仓库

6.1远程仓库工作流程
在这里插入图片描述
远程仓库用于多人协作开发。

6.2远程仓库平台介绍

  • GitHub

    域名:https://github.com
    介绍:GitHub是全球最大的开源项目托管平台,俗称大型程序员社区化交友网站

    ​ 各类好玩有趣的开源项目,只有想不到,没有找不到。

  • 码云

    域名:https://gitee.com
    介绍:码云是全国最大的开源项目托管平台,良心平台,速度快,提供免费私有库

6.3码云 生成SSH秘钥
使用码云作为远程仓库举例说明,在每次push代码到远程仓库时,都得输入账号密码,配置SSH公钥后,就可以实现免密上传。

生成SSH公钥步骤

  1. 设置Git账户
  • git config user.name(查看git账户)
  • git config user.email(查看git邮箱)
  • git config --global user.name “账户名”(设置全局账户名)
  • git config --global user.email “邮箱”(设置全局邮箱)ssh
  • cd ~/.ssh(查看是否生成过SSH公钥)
    在这里插入图片描述
  1. 生成SSH公钥
    生成命令: ssh-keygen –t rsa –C “邮箱” ( 注意:这里需要敲3次回车)
    在这里插入图片描述
    查看命令: cat ~/.ssh/id-rsa.pub
    在这里插入图片描述
    在C:\Users\Administrator(本机名)\ .ssh\id_rsa.pub 中也能查看SSH公钥
    在这里插入图片描述

  2. 设置账户公钥

  3. 在这里插入图片描述
    在这里插入图片描述

  4. 公钥测试
    命令: ssh -T git@gitee.com
    在这里插入图片描述

6.4 先有远程仓库,本地为空
步骤

  1. 将远程仓库的代码,克隆到本地仓库
    克隆命令:git clone 仓库地址
  2. 创建新文件,添加并提交到本地仓库
    添加:git add file1 file2 file3 (add后加文件名,多文件之间用空格分隔)
    ------ git add . (.表示添加所有文件)
    提交:git commit -m ‘后面加提交的备注’
  3. 推送至远程仓库
    推送:git push -u 仓库名称 分支名
  4. 项目拉取更新
    拉取命令:git pull 远程仓库名 分支名

7.IDEA集成Git

1、新建项目,绑定git,直接将远程的git文件目录拷贝到项目中即可!
在这里插入图片描述
注意观察idea中的变化
在这里插入图片描述
单击文件右键,可以进行文件的添加和提交
在这里插入图片描述
也可在Terminal使用命令,也上面的命令相同(推荐)
在这里插入图片描述
在Version Controller 中可查看文件操作的详情
在这里插入图片描述

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/120184
推荐阅读
相关标签
  

闽ICP备14008679号