目录

一. 学习目标

二.概述

1.适用场景

2.git的基础指令

3.分支

4.远程仓库

5.管理仓库操作

1.Clone

2.抓取和拉取

3.解决合并冲突


一. 学习目标

  1. 了解git的基本概念
  2. 概述git的工作流程
  3. 能够适应git的常用命令
  4. 数据git代码的托管服务
  5. 能够使用idea操作git--关键

二.概述

1.适用场景

场景一:备份

场景二:代码还原

场景三:协同开发

场景四:代码追溯

  1. 版本控制方式
  1. 集中式版本控制工具--版本库是放在中央服务器的里面--svn和cvs
  2. 分布式版本控制工具--无中央服务器,每个人的电脑都是一个版本库

  1. Git
  1. git的工作流程图

2.git的基础指令

在文件中夹中打开git.bash,注意要先去定绑定邮箱--然后初始化仓库-- 》git init

1.如何提交一份文件并查看?

--先验通过git status查看文件修改的状态(暂存区,工作区)

--首先我对已有文件完成修改后使用命令--git add(可以加入单个文件的名称或者通配符“.”注意意思像是将所有文件提交)进入暂存区(。前面要有空格)

--提交暂存区内容到仓库通道指令--git commit -m注释内容

--查看提交情况通过git log(日志查看)

(--all显示所有分支

--pretty=online将所有提交信息显示为一行

--abbrev-commit使得输出的commitld更简短

--graph以图的形式示意)命令可搭配使用----同时可

  1. 版本回退

命令形式:git reset --hard commitID(版本id记录)

用git log可以查看提交记录的id号

  1. 如何查看过去的删除记录--git reflog

3.分支

我希望每个人有每个独立的线去开发互不影响--引入分支

1.查看本地分支

git branch是查看分支,想创建分支就在branch后面加上一个名字

2.切换分支

git checkout 分支名

3.创建并切换到另一个分支

Git checkout -b 分支名

4.合并分支

Git merge dev01

在mster分支之下执行合并分支的命令,就是把dev01中修改的操作覆盖到master上

分支并入master

5.删除分支

Git branch -d 分支名

如果无法删除就加上把d改为D

  1. 解决冲突

比如两个人修改了用一个文件的同一块内容

将分支合并后

重洗修改后,重新提交就可以了

分支的使用规范

4.远程仓库

1.比较常用的远程仓库--github,码云,gitlab(企业一般都是gitlab)

2.使用流程

--创建远程仓库(码云注册)

--配置ssh公钥(在git-bash中获取公钥,然后配置到码云上)

--挂接本地仓库和远程仓库                  (查看是git remote远程仓库)

 git remote add mytest1(将这个本地仓库起一个别名) git@gitee.com:tian-shizhe/git-test.git

--然后实现对接上传

git push mytest1 master

如何推送到远端仓库?

Git push --set-upstream 远端名称 本地分支名 远端分支名

直接使用代码实现本地端和远端仓库分支的关联,之后再push上传就是直接挂接到远程的仓库了

(git branch-vv是查看本地分支和远端仓库分支的对应关系)

5.管理仓库操作

1.Clone

如何实现抓取仓库放到本地

在桌面打开git-bash调用命令 git clone 克隆仓库的地址买 本地目录

实现拉取

2.抓取和拉取

抓取:git fetch

拉取远端的仓库到本地,发现远端的仓库更新,所以我要再调用merge进行合并

拉取:git pull

拉取远端仓库修改内容并合并

要理解本地仓库和远端仓库的一个差异与操作流程

比如别人本地上传了一个文件,git-log查看如右图--两个分支都会添加该文件

如果此时我再使用push推送到远端的仓库,那么远端的master会直接和合并上去,把本地的修改和远端仓库进行合并

然后在本地实现拉取的话通过fetch就实现了可以看到别人在远端仓库上进行了什么提交,这个时候调用merge,就把别人的修改合并到了自己本地的仓库之上。

或者直接一站式的调用git pull就实现了对远端仓库的拉取和合并

3.解决合并冲突

1.什么是合并时的冲突

比如说小a修改文件1进行本地提交后,调用push进行上传

小b这个时候,把文件1给改了,然后上传叫本地仓库后,拉取合并操作,诶发现有文件有冲突

当小b 进行fetch的时候,发现远端仓库已经被人改了,然后调用pull就发现了冲突(补充说明)

2.如何解决

小b可以直接再次修改该文件再实现提交和push的操作

或者防患于未然,在自己修改的时候先pull、拉取合并一下再修改文件

管理仓库操作示例:

主分支:始终保持「可运行、无明显错误」的状态,作为最终发布版本的基准。

功能分支:每次开发新功能时,从主分支创建该分支(如 feature/user-profile 开发用户资料页)。

  1. 确保当前在主分支,且是最新状态git checkout maingit pull origin main  # 拉取远程最新主分支(如果之前在其他设备修改过)------拉取并合并到主分支

# 2. 创建功能分支,开始开发git checkout -b feature/user-comment  # 从main创建评论功能分支----在主分支基础上创建新的分支

# 3. 开发过程中,多次提交(每完成一个小步骤就提交)# 比如:完成评论输入框UIgit add .git commit -m "[新增] 评论区输入框和提交按钮UI"

# 3. 开发完成,推送到远程功能分支(备份)git push -u origin feature/user-comment

# 4. 确认功能没问题后,合并到主分支git checkout main  # 切回主分支git merge feature/user-comment  # 将功能分支合并到主分支git push origin main  # 推送更新后的主分支到远程

# 6. (可选)删除本地功能分支(避免分支过多混乱)git branch -d feature/user-comment

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐