Git突发小技巧

1. Git前瞻


在这里插入图片描述

1、什么是版本控制:版本控制是一种用于记录和管理项目文件变更的系统。它会把我们每次代码变更的记录存起来,包括谁在什么时间修改了哪些文件以及具体修改了什么内容。通过版本控制,可以高效实现多人协作开发、回溯代码变更历史、切换不同版本的代码、定位修改代码的责任人,以及备份源码等。

2、常见的版本控制工具:

  • CVS:早期老牌的管理工具。
  • ClearCase:IBM推出的企业级大型版本管理工具,收费。
  • VSS:微软推出的版本管理工具,用的很少(Java程序猿很少使用微软的东西)。
  • SVN(小乌龟):市面最流行的版本管理工具之一(集中式的,依赖于远程服务器),拥有CVS所有功能,修复了CVS的不足。
  • Git:开源的、分布式版本控制工具,Linux之父开发的(Linus Torvalds,号称开源大魔王、黑客)。早期Linux之父使用BitKeeper非常顺手,后来BitKeeper要搞商业化,于是大魔王就手写了一个版本控制工具,火遍大江南北。Git中通过Git仓库来存储历史提交记录和源码,Git仓库分为:
    • 本地仓库:开发人员自己电脑上的git仓库。
    • 远程仓库(托管平台):远程服务器上的仓库(比如 Gitee、GitHub、GitLab等等)。

3、Git使用流程:

  • commit:提交,将本地文件和版本信息保存到本地仓库。

  • push:推送,将本地仓库文件和版本信息上传到远程仓库。

  • pull:拉取,将远程仓库文件和版本信息下载到本地仓库。

image-20240716231614039


4、Git安装与配置:

(1)下载Git:https://git-scm.com/downloads(官方)、https://registry.npmmirror.com/-/binary/git-for-windows/v2.30.0.windows.1/Git-2.30.0-64-bit.exe(淘宝镜像源)

(2)安装Git:双击安装包,进入安装界面,一直下一步即可。

(3)配置基本信息:

#配置基本信息:姓名和邮箱
git config --global user.name '姓名'      #建议都使用英文+数字
git config --global user.email '邮箱地址'  #建议使用真实邮箱地址

#让git存储gitee的帐号和密码,不需要每次操作远程仓库都输帐号密码(可选)
git config --global credential.helper store

#验证是否配置成功:
git config --list

2. Git常用命令


命令不用死记硬背,记住常用命令即可。

2.1 操作本地仓库


1、如何获取本地仓库:

  • 方式1:直接克隆远程仓库,得到本地仓库,命令: git clone 仓库地址

    • 第一次它会弹出一个登录框,如果帐号密码输错了,清理一下旧的远程仓库的认证信息即可:
    git config --system --unset credential.helper
    
  • 方式2:本地文件夹里 初始化本地仓库,命令:git init


2、Git本地的三个工作区域:

  • 工作区:项目仓库文件夹里就是工作区,我们直接在这个文件夹里编辑代码。
  • 版本库:工作区内有一个隐藏的 .git文件夹 就是版本库,其中保存了项目的所有变更历史记录。如果把.git文件夹删掉了(慎用),仓库就成为普通文件夹了,Git不能再进行版本控制了。
  • 暂存区:.git文件夹里有个 index文件 就是暂存区,也叫stage。暂存区是临时保存修改文件的地方。

在这里插入图片描述


3、Git工作区里的文件状态:

  • untracked:未跟踪。表示文件是新创建的,还没有纳入到git的管控
  • tracked:已跟踪,已纳入git版本控制,随着操作又有不同的状态变化
    • Unmodifed:文件未修改,没有新的变化
    • Modified:文件已被修改
    • Staged:文件已暂存,已添加到暂存区了

注意:文件的状态会随着我们执行Git的命令发生变化。


4、本地仓库操作命令:

  • git status:查看本地仓库的状态。
  • git add 目录:将工作区内的指定目录(包括子目录)添加到暂存区中。
  • git add 文件:将工作区内的指定文件添加到暂存区。
  • git add . :将工作区内的所有文件或目录添加到暂存区中。
  • git reset 目录或文件 :将暂存区的指定目录或文件取消暂存。
  • git reset --hard 版本号:切换到指定版本。(每次commit都会产生新的版本号,通过git log查版本号就可以回到历史版本)
  • git commit -m "提交的描述信息" 目录或文件:将暂存区的目录或文件提交到本地版本库,并设置日志。(英文单双引号都可以)
  • git commit -m "提交的描述信息" :将暂存区的所有目录或文件都提交到本地版本库,并设置日志。
  • git log:查看本地版本库的所有日志记录。
  • git log 目录或文件:查看本地版本库指定目录或者文件的日志记录。
  • git reflog:查看本地仓库所有变更记录,可以帮助找回丢失的commit或分支。

2.2 操作远程仓库


1、操作远程仓库常用命令:

  • git remote:查看本地仓库所关联的远程仓库。
  • git remote -v :查看本地仓库所关联远程仓库的详细信息。
  • git remote add 远程仓库简称 远程仓库地址 :添加远程仓库。
  • git remote remove 远程仓库简称:删除关联的远程仓库。
  • git clone 远程仓库地址:克隆远程仓库代码。
  • git pull 远程仓库简称 分支名称:从远程仓库里拉取最新的代码。
  • git push 远程仓库简称 分支名称:把本地仓库里的代码推送到远程仓库。

注意事项:如果本地仓库不是从远程仓库克隆,而是本地创建的,并且仓库中存在文件,此时再从远程仓库拉取文件会报错 fatal: refusing to merge unrelated histories

image-20240717071106328

解决方案:在git pull命令后面添加参数 --allow-unrelated-histories。(强制拉取)

git pull origin  分支名称  --allow-unrelated-histories  

在这里插入图片描述

在这里插入图片描述

2、小结:Git使用流程

  • 先把远程仓库克隆到本地,得到本地仓库(我们的项目),执行命令,git clone 远程仓库地址

  • 如果本地新增或修改或删除了文件,需要把文件添加到暂存区 :git add 文件路径 文件路径...

    • 查看本地仓库的状态,执行命令:git status
    • 如果想把暂存区里的某个文件取消暂存,执行命令:git reset 文件路径 文件路径 ...
  • 然后把暂存区里所有内容一次提交到本地仓库,执行命令:git commit -m '描述信息'

    • 查看过去本地仓库的提交日志记录,执行命令:git log
  • 如果想把本地仓库代码推送到远程仓库,执行命令:git push 远程仓库简称 分支名称

  • 如果要获取远程仓库最新代码,执行命令:git pull 远程仓库简称 分支名称 (有时候会出现冲突)


2.3 操作分支


1、什么是Git分支:

Git分支是指在Git版本控制系统中的一个独立的开发线,用于并行开发不同的功能或修复不同的bug。每个分支都包含自己的代码提交记录,可以独立进行提交、修改和合并操作,而不会影响主分支或其他分支的代码。通过使用分支,团队成员可以在不干扰彼此工作的情况下进行并行开发,最终将各自的工作内容合并到某个分支中。

img

本地仓库和远程仓库中都有分支,同一个仓库可以有多个分支,仓库里默认会有一个master分支(通常主分支用于保存稳定的代码版本)。

实际开发中,通常是要开发一个功能,就创建一个新分支;要修改一个bug,就创建一个新分支。

切换分支前,需要要把代码提交或缓存起来,否则会带到其他分支。

2、操作分支常用命令:

  • git branch : 查看本地分支。

  • git branch -r :查看远程分支。

  • git branch -a :查看所有分支。(本地分支和远程分支)

  • git branch 分支名称 : 创建分支。

  • git checkout 分支名称 : 切换分支。

  • git push 远程仓库简称 远程仓库分支名称 : 推送分支到远程仓库。(如果远程没有这个分支,它会自动创建)

  • git merge 分支名称:把指定分支合并到当前分支。

    #示例:把本地dev分支合到master
    git checkout master
    git merge dev  
    
  • git branch -d 分支名名称:删除本地分支。

  • git push 远程仓库简称 -d 远程分支名称:删除远程仓库分支。


2.4 操作标签


标签:对整个项目的某一次提交记录打一个标记,通常作为项目的里程碑。将来可以更方便的获取里程碑阶段的代码。

标签的作用:用于标记代码版本、发布里程碑,方便团队成员和用户能够更容易地识别不同的版本。

image-20240717081329173

操作标签常用命令:(一般运维来做)

git tag			# 查看标签
git tag	标签名			# 创建标签 (本地创建) 
git push 远程版本库简称 标签名	  # 把标签推送到远程仓库
git checkout -b 新分支名称 标签名	# 检出标签(修复bug用的,例如windows打补丁,检出某个出问题的标签到一个新分支上,然后去修复bug)
git -tab -h # 查看帮助文档

3. 在IDEA中操作Git


参考:https://blog.csdn.net/liuerchong/article/details/116640039

整合Git:

image-20240717084029056


4. 突发小技巧


4.1 错误代码push到远程仓库如何解决


相关推荐

  1. Git使用技巧】一个项目使用多个远程仓库

    2024-07-17 10:22:05       64 阅读
  2. git使用技巧记录

    2024-07-17 10:22:05       28 阅读
  3. git stash技巧

    2024-07-17 10:22:05       27 阅读
  4. git白教程

    2024-07-17 10:22:05       33 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-17 10:22:05       70 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-17 10:22:05       74 阅读
  3. 在Django里面运行非项目文件

    2024-07-17 10:22:05       62 阅读
  4. Python语言-面向对象

    2024-07-17 10:22:05       72 阅读

热门阅读

  1. 初识Flutter问答&学习步骤

    2024-07-17 10:22:05       21 阅读
  2. golang mux组件兼容转移url

    2024-07-17 10:22:05       22 阅读
  3. 用户excel对CAN进行图形化展示

    2024-07-17 10:22:05       23 阅读
  4. SpringBoot如何使用Kafka来优化接口请求的并发

    2024-07-17 10:22:05       25 阅读
  5. 力扣---46.全排列

    2024-07-17 10:22:05       24 阅读
  6. PFA、PEEK和PP的材质、特点及用途

    2024-07-17 10:22:05       23 阅读
  7. 2024.07.16 oracle函数练习

    2024-07-17 10:22:05       31 阅读
  8. 第一章 Typescript小白快速入门

    2024-07-17 10:22:05       20 阅读
  9. webpack生产环境下的配置

    2024-07-17 10:22:05       27 阅读
  10. Matlab学习笔记01 - 基本数据类型

    2024-07-17 10:22:05       27 阅读
  11. spring-boot2.x整合Kafka步骤

    2024-07-17 10:22:05       19 阅读
  12. 武汉大学学报哲学社会科学版

    2024-07-17 10:22:05       22 阅读