Git:Git基础知识

Posted Xiao Miao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git:Git基础知识相关的知识,希望对你有一定的参考价值。

Git基础知识

一、Git介绍

SVN:集中式的版本管理工具
在这里插入图片描述

  • 所有版本的代码都集在SVN的服务器上

  • 任何一个开发者,都 只能连接SVN服务器,下载代码和上传新的版本

  • 集中式:所有的开发都要围绕SVN服务器为核心

  • 缺点:必须联网(互联网或者局域网),自己无法管理多个版本,SVN服务器存在单点故障

Git:分布式版本管理工具
在这里插入图片描述

  • 去中心化
  • 优点 :不需要联网,自己笔记本就是本地版本库,直接用自己的笔记本呢实现版本的管理,自己可以管理多个版本,不需要担心公共版本库故障,每个人都有一个版本库

Git特点:

  • 适合分布式开发,多人可以共同开发,强调个体
  • 公共版本库服务器的压力不会太大
  • 速度快、更加灵活
  • 任意的开发者之间产生版本冲突也容易解决
  • 不需要联网也可以实现多个版本管理

二、Git下载和安装

阿里:下载地址
版本:Git-2.13.0-64-bit.exe
在这里插入图片描述我们的安装环境是windowds,因此选择下载的版本是:Git-2.13.0-64-bit.exe

  • tortoisegit:git的图形化界面

tortoisegit的下载地址
在这里插入图片描述下载完毕直接安装即可。

三、Git组成

在这里插入图片描述本地版本控制Git服务器

  • 工作区[Work Dir]:开发和修改代码的地方
  • 暂存区[Index]:临时存放你即将提交的版本的地方
    所有需要保存的版本必须添加到暂存区
  • 本地版本仓库[HEAD]:本地的版本库,实现本地版本的管理
  • 远程版本仓库:用于共享项目代码版本
    -GitHub、Gitee

四、本地仓库的构建

在一没有中文的目录下创建一个repository目录,然后创建三个子目录用于当作本地库。
1.通过Git自带的图形化界面构建
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.通过Git命令来构建
命令:

git init 初始化本地仓库

在这里插入图片描述

3.通过TortoiseGit构建
在这里插入图片描述在这里插入图片描述在这里插入图片描述

五、提交

1.创建文件
在reps1下创建一个java文件
在这里插入图片描述
在这里插入图片描述

2.添加到暂存区

  • 第一种方式
    在这里插入图片描述在这里插入图片描述
  • 第二种方式

在Git Bash中输入命令

git add Demo01.java

3.提交到本地库
在这里插入图片描述注:必须添加日志信息,用于区分不同版本
在这里插入图片描述

在这里插入图片描述

4.查看本地版本库
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

六、修改

1.修改java文件内容
在这里插入图片描述
在这里插入图片描述
2.提交到本地库
在这里插入图片描述
在这里插入图片描述

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

  • 再次修改java文件内容两次,提交到本地库两次
    3.查看日志
    在这里插入图片描述在这里插入图片描述

4.还原
前提修改文件但未提交到本地库中

  • 修改java文件内容
    在这里插入图片描述
  • 还原

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

  • 查看日志
    在这里插入图片描述

七、切换

1.修改java文件
在这里插入图片描述

2.比较差异

  • 比较差异
    在这里插入图片描述在这里插入图片描述
  • 与上一版本比较差异
    在这里插入图片描述在这里插入图片描述
    3.切换到想要版本
    在这里插入图片描述
    在这里插入图片描述

八、删除

1.删除文件

  • 删除
    在这里插入图片描述
  • 还原
    在这里插入图片描述

2.删除版本

  • 文件删除并提交
    在这里插入图片描述
    3.删除管理
  • 删除并保留本地副本
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 提交
    在这里插入图片描述
    在这里插入图片描述

九、添加整个项目

1.将项目放入本地库
在这里插入图片描述
2.将项目添加到暂存区
在这里插入图片描述

3.忽略不需要做版本控制的目录
在这里插入图片描述
在这里插入图片描述

4.提交

在这里插入图片描述

十、暂存区

Git中的Commit操作它是一个原子性操作,也就是它会把暂存区的文件全部提交,而且要么全部成功,要么全部失败从工作区到暂存区,使用Git Add 文件名,我们可以选择性地向暂存区添加内容,然后将其分批提交,暂存区的意义是它将你准备提交的内容分批整体处理

十一、创建GitHub公共仓库

GItHub网址

登陆后:

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

十二、本地与GitHub的SSH连接

实现本地仓库与GitHub公共仓库的连接

  • 如何在本地内容写入Public公共仓库
    • 需要配置SSH认证
    • 需要将本地机器的公钥填写在GitHub中,只有填写公钥的机器才能推送

本地密钥生成

  • 在自己Windows本地生成一对公私钥,在Git Bash中输入以下命令
ssh-keygen -t rsa
  • 找到生成公钥的位置,将复制公钥内容
    在这里插入图片描述
    配置GitHub
    在这里插入图片描述

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

  • 配置成功
    在这里插入图片描述

十三、同步到远程仓库

1:命令同步

#添加一个远程仓库的地址叫origin
git remote add origin git@github.com:miao/reps1.git
#将本地master同步到远程的origin
git push -u origin master

远程仓库地址:
在这里插入图片描述从GitHub上可以看到已经同步到远程仓库
在这里插入图片描述
2.工具同步:shell

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述从GitHub上可以看到已经同步到远程仓库

在这里插入图片描述
3.工具同步:HTTP
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

从GitHub上可以看到已经同步到远程仓库
在这里插入图片描述

十四、从远程仓库克隆

1.命令方式

  • 新建reps目录存放克隆数据
    在这里插入图片描述
  • 在Git Bash中输入以下命令,克隆远程仓库数据
git clone git@github.com:miao/reps1.git

在这里插入图片描述在这里插入图片描述
2.工具方式

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

十五、冲突问题

  • 问题的产生
    在这里插入图片描述两个用户提交一个相同版本会产生冲突
  • 问题解决
    1.拉取远程仓库当前版本
    在这里插入图片描述在这里插入图片描述
    2.与自己的版本比较,并修改内容
    在这里插入图片描述
    在这里插入图片描述
    3.解决冲突,并重新同步到远程仓库
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述

从GitHub上可以看到已经同步到远程仓库,冲突已经解决
在这里插入图片描述

十六、搭建私有服务器

百度网盘:下载地址
提取码:zkkt
版本:git-2.5.0.tar.gz

上传git安装包到linux上

cd /export/software
rz

编译安装

  • 安装依赖
yum -y install curl curl-devel zlib-devel openssl-devel perl cpio expat-devel gettext-devel gcc cc autoconf perl-CPAN
  • 解压
tar -zxvf git-2.5.0.tar.gz  -C /export/server/
  • 编译
#1.切换到指定目录
cd /export/server/git-2.5.0/
#2.自动配置
autoconf
#3.执行脚本文件(做预编译的文件)
./configure
#4.编译
make
  • 安装
make install

配置

  • 添加git用户
#1.添加用户
useradd -r -c 'git version control' -d /home/git -m git
#2.为用户创建密码
passwd git
  • 切换为git用户
su - git

构建Linux仓库

  • 创建目录
mkdir ~/repository
  • 初始化为git仓库
git --bare init /home/git/repository
  • 修改配置
#1.编辑config文件
vim ~/repository/config 
#2.添加以下内容
[receive]
        denyCurrentBranch = ignore

在这里插入图片描述
测试

  • 配置远程同步地址
    192.168.88.221为Linux的ip
#Linux下的远程仓库地址
ssh://git@192.168.88.221/home/git/repository

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

在这里插入图片描述

  • 克隆

在这里插入图片描述

十七、分支

1.分支管理

一个项目中可以有多个分支,每个分支独立管理各自的版本

  • 创建分支
    在这里插入图片描述在这里插入图片描述- 切换分支
    在这里插入图片描述
    在这里插入图片描述
    所有分支都是独立的,互不干扰

  • 删除分支
    当前正在使用的分支不允许删除
    在这里插入图片描述

2.分支合并

  • 将master分支合并vip分支
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述
  • 解决冲突

在这里插入图片描述

在这里插入图片描述

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

十八、IDEA与Git集成

1.在idea中创建一个空的项目
2.配置与Git相关联
在这里插入图片描述3.创建模块代码
在这里插入图片描述

4.创建本地库设置忽略

在这里插入图片描述选择刚创建的项目目录为Git仓库
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
5.添加并提交代码
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

十九、IDEA中使用Git

1.通过菜单
在这里插入图片描述2.VCS选项
在这里插入图片描述在这里插入图片描述

二十、IDEA关联GitHub

1.GitHub中创建远程仓库
在这里插入图片描述2.配置远程仓库地址

  • 远程仓库地址:
    在这里插入图片描述
  • 在idea中点击Remotes按键,配置远程仓库
    在这里插入图片描述
  • 同步到本地仓库
    在这里插入图片描述
  • 在GitHub中可以看到已经同步成功
    在这里插入图片描述

二十一、IDEA协同开发拉取代码

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

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

二十二、IDEA中分支的使用

1.通过菜单
在这里插入图片描述2.右下角标签
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

以上是关于Git:Git基础知识的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段15——git命令操作一个完整流程

如何管理在每个 git 版本中添加私有代码片段?

markdown Git代码片段

使用 Git 来管理 Xcode 中的代码片段

GitGit 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )(代码片段

GitGit 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )(代码片段