1 集中式和分布式的区别

1.1 集中式

集中式VCS必须有一台电脑作为服务器,每台电脑都把代码提交到服务器上,再从服务器下载代码。如果网络出现问题或服务器宕机,系统就不能使用了。

在这里插入图片描述

1.2 分布式

分布式VCS没有中央服务器,每台电脑都可以保存代码版本,没有网络的时候可以先提交到本地,每台电脑也都可以作为服务器,其他电脑可以从作为服务器的电脑上克隆代码,可见分布式系统比集中式系统的安全性高很多。

2 GIT的工作流程

在这里插入图片描述
代码保存位置分为:

  • Remote 远程仓库,在网络中保存代码的位置
  • Repository 本地仓库,在本机上保存代码
  • Index 暂存区,在本机上临时保存代码的位置
  • Workspace 工作区,开发代码的位置
1、git clone 克隆远程资源到本地目录,git checkout作为工作目录;

2、然后在本地的克隆目录上添加或修改文件;

3、如果远程修改了,需要同步远程的内容,直接git pull就可以更新本地的文件;

4、本地在修改之后,可以通过git status 查看修改的文件。然后使用git add 添加修改的文件到缓冲区(暂存区);

5、在添加之后,可以使用git commit添加到当前的工作区;

6、在修改完成后,如果发现错误,可以撤回提交并再次修改并提交;

7、git push将本地的修改推送到远程的git服务器。

3 Git安装

在Windows上使用Git,可以从Git官网直接下载安装程序,(网速慢的同学请移步国内镜像),然后按默认选项安装即可。

注意 安装目录不要有中文

4 Git常用命令

命令名称作用
git config --global user.name 用户名设置用户签名
git config --global user.email 邮箱设置用户签名-
git init初始化本地库
git status查看本地库状态
git add 文件名添加到暂存区
git commit -m "日志信息” 文件名提交到本地库
git reflog查看历史记录
git reset --hard 版本号版本回退
git remote -v查看当前配置的远程仓库地址
git remote remove origin移除当前的远程仓库
git remote add origin(别名) 新的仓库地址添加新的远程仓库地址
git remote -v验证新的远程仓库地址是否生效
git reset --soft HEAD~1删除最后一个提交,但保留更改内容(交互式变基):
git reset --hard HEAD~1删除最后一个提交,并且也删除更改内容(硬重置)

4.1 设置用户签名

4.1.1 基本用法

git config --global user.name 用户名
git config --global user.email 邮箱

4.1.2 说明 :

签名的作用是区分不同操作者身份。用户的签名信息在每一个版本的提交信息中能够看到,以此确认本次提交是谁做的。Git首次安装必须设置一下用户签名,否则无法提交代码。

※注意 : 这里设置用户签名和将来登录GitHub (或其他代码托管中心)的账号没有任何关系。-

4.1.3 以文件查看自己设置的签名

安装之后桌面右击,选择Git Bash Here
在这里插入图片描述
注意上面@前面部分,找到对应文件,如下图,找到.gitconfig文件,里面就有name和email—没找到是因为该文件属于隐藏文件,打开即可
在这里插入图片描述
在这里插入图片描述

4.1.4 以代码形式查看自己设置的签名

在这里插入图片描述

4.2 初始化本地库

4.2.1 基本语法

git init 
在**该项目文件里面**使用这个命令是为了让该项目可以git管理

4.3 查看文件当前状态

4.3.1 基本语法

git status

4.4 添加暂存区

4.4.1 基本语法

git add 文件名

4.4 .2 使用方法

建立Gittt 文件,右击选择Git Bash Here 运行 git init得到.git文件

在这里插入图片描述
输入命令 vim hello.txt(文件名),随便属于几行 点击键盘 “I” 即可打字
在这里插入图片描述
输入完毕按 esc 键 输入wq 回车即可 跟Linux一样

执行以下命令就可以添加到暂存区
在这里插入图片描述
删除暂存区

git rm --cached hello.txt

4.5 提交本地库

4.5.1 基本语法

git commit -m "日志信息" 文件名

4.5.2 使用方法

在这里插入图片描述

4.6 Git时光机

4.6.1 查看提交记录

$ git reflog 简略
$ git log	详细

4.6.2 版本回退

$ git reset --hard HEAD^
$ git reset --hard 版本号

首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100

4.7 修改文件

修改hello.txt (代码为vim hello.txt)如下,保存退出
在这里插入图片描述
查看状态
在这里插入图片描述
提交暂存区,并看日志
在这里插入图片描述

4.8 版本回退

4.8.1 基本语法

$ git reset --hard HEAD^
$ git reset --hard 版本号

首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100

4.8.2 使用方法,回退上一个版本

在这里插入图片描述

4.9 分支

4.9.1 概述

分支相当于副本,一个分支就是一个单独的副本,分支的底层就是指针的引用。
在开发中,一个分支给用户使用,一个分支给程序员开发。

4.9.2 分支的好处

同时并行推进多个功能开发,提高开发效率。
各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可。

4.9.3 分支的操作

命令名称作用
git branch 分支名创建分支
git branch -v查看分支
git checkout 分支名切换分支
git merge 分支名把指定的分支合并到当前分支上

4.9.4 使用方式

创建并查看分支,切换分支
在这里插入图片描述
在新创建的分支下修改文件,并提交
在这里插入图片描述
在这里插入图片描述
切换master分支,发现hello.txt 没有和one分支添加的内容合并
在这里插入图片描述进行合并,发现one分支添加的内容出现在了master分支里面
在这里插入图片描述

4.9.5 冲突合并

合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。Git无法替我们决定使用哪一个。必须人为决定新代码内容。
解决办法就是合并之后,分支后面会有 master|MERGING 标识,手动打开文件进行删留,解决好之后提交就阔以了

4.10 远程仓库

4.10.1 添加远程仓库

$ git remote add origin 远程仓库地址

4.10.2 从远程仓库克隆

$ git clone 远程仓库地址

4.10.3从远程仓库同步最新代码

$ git pull

4.10.4 将代码推送到远程仓库

$ git push

5 Github操作

地址:https://github.com/

5.1 创建远程库

注册之后,如下操作
在这里插入图片描述

5.2 远程仓库操作

命令名称作用
git remote -v查看当前所有远程地址别名
git remote add 别名 远程地址起别名
git push 别名 分支推送本地分支上的内容到远程仓库
git clone 远程地址将远程仓库的内容克隆到本地-
git pull 远程库地址别名 远程分支名将远程仓库对于分支最新内容拉下来后与-当前本地分支直接合并-
git remote remove 别名删除别名

5.2.1 创建远程仓库别名

创建库之后界面可知远程地址
在这里插入图片描述
创建别名并查看
在这里插入图片描述

5.2.2 推送本地分支到远程仓库

git config --global --unset credential.helper

git-credential-manager configure
在这里插入图片描述

在这里插入图片描述

5.2.3 远程库拉到本地库

在这里插入图片描述
拉取到本地库之后,可用cat hello.txt 查看文件

在这里插入图片描述

5.2.4 克隆远程仓库到本地

视频:
https://www.bilibili.com/video/BV1vy4y1s7k6?p=25&spm_id_from=pageDriver&vd_source=88f817b9699e2f062d505d6a4f50dd00
在这里插入图片描述
在这里插入图片描述

5.2.5 ssh免密登录

需要添加key
在这里插入图片描述
开始获取key
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
复制公钥
在这里插入图片描述
在这里插入图片描述
表示添加成功,使用的时候就是把创库地址前面的 http 改为git
作用就是省去了push 登录环节
在这里插入图片描述

6 idea配合Git

6.1 配置GIT

1、 File -> Settings -> Version Control -> Git 配置Git的目录

6.1.1 配置Git忽略文件

与项目的实际功能无关,不参与服务器上部署运行。把它们忽略掉能够屏蔽IDE工具之间的差异。
在这里插入图片描述
在这里插入图片描述
文件里面输入

# Compiled class file
*.class

# Log file
*.log

# BlueJ files
*.ctxt

# Mobile Tools for Java (J2ME)
.mtj.tmp/# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar

hs_err_pid*

.classpath
.project
.settings
target
.idea
*.iml

.gitconfig引用这个文件
在这里插入图片描述

6.2 初始化本地库

他会自己选择本项目,点击欧克即可
在这里插入图片描述
在这里插入图片描述
这时候项目文件会出现不同的颜色

  • 红色 没有加入到git暂存区

  • 绿色 加入暂存区,没有提交

  • 蓝色 做了修改,没有提交

  • 白色 完成提交,是最新的

6.3 添加暂存区并提交

将pom文件加入暂存区,未提交
在这里插入图片描述
将整个项目提交到暂存区,并写了一个类
在这里插入图片描述
在这里插入图片描述
可写可不写,然后点击提交(commit)
在这里插入图片描述

6.4 切换版本

修改了,左边git_text 类变蓝了
在这里插入图片描述
加入暂存区,提交本地库
在这里插入图片描述

6.4.1 查看版本信息

有黄色( head )和绿色(分支)图标(指针)
在这里插入图片描述

6.4.2 切换版本

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

6.5 创建分支&切换

也可以点右下角有个master,里面也可创建(切换分支也是这,点击checkout就是切换)
在这里插入图片描述

6.6 合并分支

6.6.1 正常合并,无冲突

在这里插入图片描述
提交,切换到master分支
在这里插入图片描述
点击master,选择onebranch,点击merge— 进行合并
在这里插入图片描述
在这里插入图片描述

6.6.2 冲突合并

进入onebranch分支修改,提交
在这里插入图片描述
进入master分支修改,提交
在这里插入图片描述
都提交之后
在这里插入图片描述
在master分支上合并
在这里插入图片描述
原因暂存区加入了这个,原因就是前面忽略文件没做,解决办法就是重新开始
在这里插入图片描述
重新创建项目之后
在这里插入图片描述
合并之后,一个是master分支,一个是onebranch分支
在这里插入图片描述

6.7 设置GitHub账号

在这里插入图片描述

在这里插入图片描述
登录GitHub点击setting 找到Developer settings
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.8 分享项目到GitHub

第一种
在这里插入图片描述
第二种
在这里插入图片描述
成功之后在GitHub官网刷新就可以看见
在这里插入图片描述

6.9 push推送本地库到远程库

在这里插入图片描述

https 推送

这种上转直接点击git->push
由于要考虑网速,所以用ssh

ssh 推送

在这里插入图片描述

在这里插入图片描述
把ssh地址放入url中
在这里插入图片描述
在这里插入图片描述
注意: push是将本地库代码推送到远程库,如果本地库代码跟远程库代码版本不一致,push 的操作是会被拒绝的。也就是说,要想push成功,一定要保证本地库的版本要比远程库的版本高!因此一个成熟的程序员在动手改本地代码之前,一定会先检查下远程库跟本地代码的区别!如果本地的代码版本已经落后,切记要先pull 拉取一下远程库的代码,将本地代码更新到最新以后,然后再修改,提交,推送!e

6.10 拉取远程库代码合并本地库

在GitHub网站中加入一行
在这里插入图片描述
idea中pull
在这里插入图片描述

6.11 clone克隆远程库到本地

需要删除本地项目,克隆是无到有
在这里插入图片描述
做完这些点击clone
在这里插入图片描述

6.12 gitee码云-账号注册登录&创建远程库

和github一样

6.13 idea集成码云

没有下载一个,操作跟github一样
在这里插入图片描述

6.14 导入gihub

在这里插入图片描述

6 GitLab

学习视频
https://www.bilibili.com/video/BV1vy4y1s7k6/?p=41&vd_source=13cb4355a2724100e26f8fedb59caaa8
gitlab网站:(也有安装教程)
https://gitlab.cn/install/

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部