GIT详解

目录

[一,Git 核心流程](#一,Git 核心流程)

二,常用命令

1,获取GIt仓库

2,本地仓库常用命令

3,远程仓库常用命令

4,分支操作命令

三,常见问题

1,如何连接远程仓库(Gitee为列子)

使用HTTPS方式

2,推送命令的时候遇到冲突怎么解决


Git 的核心其实就一句话:它是管理文件"版本"的工具,通过三个区域来协作。

一,Git 核心流程

写代码(工作区) ➔ git add(暂存区) ➔ git commit(本地存档) ➔ git push(上传云端)

1,工作区

  • 是什么:就是你平时写代码的文件夹,你能看到的文件。
  • 状态:你在 App.vue 里敲了一行代码,保存了,这就在工作区。

2,暂存区

  • 是什么:一个"临时中转站",准备要提交的文件先放这里。
  • 作用:让你可以挑挑拣拣。比如你改了 3 个文件,但只想提交其中 1 个,就可以只把这 1 个放进暂存区。

3,本地仓库

  • 是什么:Git 真正保存历史版本的地方(那个隐藏的 .git 文件夹)。
  • 作用:一旦提交到这里,你就拥有了一个"存档点",随时可以回退。

二,常用命令

1,获取GIt仓库

(1)从本地初始化:进入一个空目录,执行git init

(2)从远程仓库克隆:进入一个空目录,执行git clone 远程仓库地址

2,本地仓库常用命令
命令 说明 常用参数/示例
git status 查看当前仓库的状态(哪些文件修改了,哪些在暂存区) git status -s (简洁模式)
git add 将文件内容添加到暂存区 git add . (添加所有修改) git add <文件名> (添加指定文件)
git commit 将暂存区的内容提交到本地仓库 git commit -m "这里是提交备注" git commit -am "备注" (跳过add,直接提交已跟踪文件)
git log 查看提交历史记录 git log --oneline (单行显示,最常用) git log --graph (图形化显示分支)
git diff 查看文件具体的修改差异(还没add之前的对比) git diff <文件名>
3,远程仓库常用命令
命令 说明 常用参数/示例
git remote 管理远程仓库地址 git remote -v (查看远程地址) git remote add origin <url> (添加地址)
git pull 从远程拉取代码并合并到本地 git pull origin master git pull --rebase (变基拉取,保持线性历史)
git push 将本地代码推送到远程仓库 git push origin master git push -u origin master (第一次推送时加-u建立关联)
git fetch 仅从远程下载最新代码,但不自动合并 git fetch origin
git clone 克隆远程仓库到本地 git clone <url>
4,分支操作命令
命令 说明 常用参数/示例
git branch 查看、创建或删除分支 git branch (查看本地分支) git branch dev (创建dev分支) git branch -d dev (删除dev分支)
git checkout 切换分支 git checkout dev (切换到dev) git checkout -b dev (创建并切换到dev)
git merge 合并分支 git merge dev (把dev分支合并到当前分支)
git stash 暂存当前工作现场(还没写完的代码先存起来) git stash (存起来) git stash pop (恢复现场)

三,常见问题

1,如何连接远程仓库(Gitee为列子)
使用HTTPS方式

(1)获取仓库地址,关联仓库

复制代码
git remote add origin 自己的url

注意!!!!!

这里为什么没有使用git clone

特性 git clone ... git remote add ...
核心动作 下载 (复制远程到本地) 关联 (建立连接)
是否创建文件夹 是 (会自动创建项目文件夹) 否 (必须在已有的文件夹内执行)
是否下载代码 是 (所有历史代码都会下来) 否 (只是存了个地址)
典型场景 项目刚开始,我要把别人的代码拿下来跑 我自己写了代码,我要把它推送到远程去
后续操作 直接进入文件夹开始干活 需要接着做 git push

(2)第一次 拉取需要验证登录,输入gitee的用户名和密码即可。

2,推送命令的时候遇到冲突怎么解决

原因: 远程仓库的代码和本地代码修改了同一个文件的同一行,Git 无法自动合并

解决步骤:

  1. 拉取代码:先执行 git pull,Git 会提示冲突文件。
  2. 手动解决:打开冲突文件,找到 <<<<<<<, =======, >>>>>>> 标记。选择保留谁的代码,解决冲突
  3. 重新添加:修改完后,执行 git add <冲突文件名>,添加到暂存区
  4. 重新提交:执行 git commit -m "解决冲突"
  5. 再次推送:执行 git push
相关推荐
Dicky-_-zhang4 小时前
消息队列Kafka/RocketMQ选型与高可用架构:从单体到100万TPS的演进
java·jvm
晨曦中的暮雨4 小时前
4.15腾讯 CSIG云服务产线 一面
java·开发语言
fake_ss1984 小时前
AI时代学习全栈项目开发的新范式
java·人工智能·学习·架构·个人开发·学习方法
茉莉玫瑰花茶4 小时前
工作流的常见模式 [ 1 ]
java·服务器·前端
未若君雅裁4 小时前
Spring AOP、日志切面与声明式事务原理
java·后端·spring
Upsy-Daisy5 小时前
AI Agent 项目学习笔记(二):Spring AI 与 ChatClient 主链路解析
人工智能·笔记·学习
No8g攻城狮5 小时前
【人大金仓】wsl2+ubuntu22.04安装人大金仓数据库V9
java·数据库·spring boot·非关系型数据库
xiaoerbuyu12335 小时前
开源Java 邮箱 基于SpringBoot+Vue前后端分离的电子邮件
java·开发语言
C+++Python6 小时前
C++ 进阶学习完整指南
java·c++·学习