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的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命令操作一个完整流程
GitGit 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )(代码片段
GitGit 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )(代码片段