java 实训第12天 (git版本控制继续)

Linux下使用到的命令:

ls -al //查看当前目录下的文件及文件夹

mkdir //新建目录

rm -rf //递归强制删除文件夹

版本控制

一、安装配置

1、下载地址

https://git-scm.com/

2、初始配置

#用户名

git config --global user.name "自定义用户名"

#邮箱(公司的联系方式--追责)

git config --global user.email "邮箱地址"

说明:

  • 安装好git后,第一步就需要初始化个人信息。

  • 设置好后查询,检查是否配置成功,不加用户名或邮箱就代表查询

二、初始化本地仓库

1、版本库

用于跟踪项目代码的仓库(目录),每个本地仓库中会创建一个隐藏文件夹

.git 同级目录下做的所有操作都会被git监管。

2、初始化本地仓库

在普通文件夹下执行如下命令,可以将该文件夹初始化为本地仓库:

git init

3、本地仓库的构成

  • 工作区:存放代码的位置

  • 版本库:工作区中.git文件夹,其中包含暂存区 和 分支区

  • 暂存区:通过git add/rm命令执行后,操作保存的位置(类似于缓存区)

  • 分支区:是最终版本信息保存的位置,git commit 命令提交的信息都会存储在

分支区,通常版本库初始化后会默认创建一个本地分支(master)

也叫主分支。master最好不要删除。

工作区代码发生修改--git add(添加)-->暂存区--git commit(提交)-->分支区

三、版本管理

1、提交新文件

1-在工作区创建新文件

2-查看本地仓库的状态

git status

3-添加新建文件的状态到暂存区

git add 文件名

4-将暂存区的状态提交到本地分支区

git commit -m "备注信息"

2、修改文件

与提交新文件的流程步骤相同

3、查看历史版本

#查看提交的详细日志信息

git log

#查看基本日志信息

git log --pretty=oneline

#查看详细的操作日志

git reflog

4、版本回滚

git reset --hard HEAD^

---或者---

git reset --hard commitID

说明:

  • HEAD 头指针指向当前最新的代码(当前所在版本)

  • ^ 版本回滚到最近一次提交(回跳一个版本)

  • commitID: 执行commit时随机生成的id号,id号取前>=7位即可

5、代码撤销

#只撤销工作区的修改

git checkout -- <file>...

#撤销暂存区的状态

第一步:从暂存撤销回工作区

git reset HEAD <file>...

第二步:撤销工作区

git checkout -- <file>...

#已经提交到本地分支的只需要用版本回滚

6、删除文件

情况一:通过物理删除,利用git记录操作

  • rm -f 文件

  • git add/rm 文件...

  • git commit -m "备注"

情况二:利用git的rm命令执行删除

  • git rm 文件 #删除文件并添加暂存

  • git commit -m "备注"

四、远程仓库

1、定义

如果需要将项目托管在支持git的服务中心时,要求服务中心能24小时运行,还可以

提供其他的管理(用户,项目,用户组,权限)操作。

2、远程仓库分类

Github https://github.com/ 国外

码云 https://gitee.com/ 国内

极狐 gitlab,gitblit 私有

3、注册并新建远程仓库

创建的远程仓库一般就是项目名。

创建远程仓库的配置项:

初始化仓库:

选择语言 -- 选择开发项目的主要语言(计算机语言)

.gitignore -- 配置到该文件的文件名或文件夹将不会被git跟踪管理

开源许可 -- apache2.0

设置模板:

Readme文件 -- 项目的说明文件

选择分支模型:

没有特殊要求直接选为默认的master

4、远程仓库与本地仓库的关联

由于本地的git与远程仓库进行代码跟踪时,对数据的安全性有绝对性要求。

因此可以利用ssh协议完成数据传输的加解密过程。

ssh配置流程:

本地:

1-在git bash上通过指令生成ssh的公钥和密钥(-t rsa表示加密算法)

ssh-keygen -t rsa -C "git初始化时配置的邮箱地址"

2-进入用户家目录下的.ssh文件夹

cd ~/.ssh/

说明:在文件夹中有两个文件id_rsa(密钥) id_rsa.pub(公钥)

密钥文件自己保存,不能对外暴露。公钥是配置到要进行交互的服务端(码云)。

3-在码云控制台配置公钥

控制台-设置-安全设置-ssh公钥-添加公钥

说明:

公钥标题可以自定义,公钥在git bash中查看id_rsa.pub文件

cat ~/.ssh/id_rsa.pub

仓库关联:

情况一:远程仓库已经存在,只需要将仓库拉取到本地并完成关联。

git clone git@gitee.com:用户名/仓库名.git

情况二:先有本地仓库,再关联远程仓库

1-先初始化本地仓库,项目根目录执行命令

git init

2-在远程创建一个名称与本地仓库同名的仓库

3-远程仓库关联

#在本地添加一个名叫origin的远程仓库地址

git remote add origin git@gitee.com:用户名/仓库名.git

#将远程代码拉取到本地,并解决历史差异

git pull origin master --allow-unrelated-histories

#在第一次推送本地代码到远程仓库时可以添加-u参数

git push -u origin master

五、集成git工具到idea编辑器

file->settings->versioncontrol->git

六、分支管理

1、查询本地所有分支

git branch

2、创建本地分支

git branch 分支名称

3、切换分支

git checkout 分支名称

4、创建并切换分支

git checkout -b 分支名称

5、合并分支

git merge 分支名 //快速合并(只保留一条master主分支)

git merge --no-ff 分支名 //关闭快速合并(保留合并时的分支信息)

注意:合并分支时需要先切换到主分支。

七、代码合并冲突处理

如果有多个人修改了同一个文件会出现合并冲突。

删除特殊内容:

<<<<<<< HEAD

原来的代码

=====

准备合并的新代码

>>>>>>> 正在合并的分支

当处理完合并冲突后,需要完成一次提交。

相关推荐
2401_8574396928 分钟前
SSM 架构下 Vue 电脑测评系统:为电脑性能评估赋能
开发语言·php
SoraLuna1 小时前
「Mac畅玩鸿蒙与硬件47」UI互动应用篇24 - 虚拟音乐控制台
开发语言·macos·ui·华为·harmonyos
xlsw_1 小时前
java全栈day20--Web后端实战(Mybatis基础2)
java·开发语言·mybatis
神仙别闹2 小时前
基于java的改良版超级玛丽小游戏
java
Dream_Snowar2 小时前
速通Python 第三节
开发语言·python
黄油饼卷咖喱鸡就味增汤拌孜然羊肉炒饭2 小时前
SpringBoot如何实现缓存预热?
java·spring boot·spring·缓存·程序员
high20112 小时前
【Git】-- 版本说明
git
暮湫3 小时前
泛型(2)
java
超爱吃士力架3 小时前
邀请逻辑
java·linux·后端
南宫生3 小时前
力扣-图论-17【算法学习day.67】
java·学习·算法·leetcode·图论