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
相关推荐
云烟成雨TD3 分钟前
Micrometer 系列【42】链路追踪:Span 体系 | 核心 API
java·链路追踪·micrometer
Gorway9 分钟前
理解 Spring 依赖注入:从构造器注入到集合与条件 Bean
java·后端
LiLiYuan.25 分钟前
【字符串常量池】
java·开发语言·面试
Sylvia33.32 分钟前
从轮询到推送:足球数据API架构演进与火星数据技术拆解
java·服务器·网络·python·websocket·架构
cfm_29141 小时前
高并发系统缓存全解
java·缓存
16月6日-晴1 小时前
Java面向对象进阶—static
java·开发语言
xiaohaiAIgeo2 小时前
【2026年】ASHRAE 110与EN 14175通风柜测试标准对比:进口与国产品牌性能差距
java·前端·数据库·科普知识
meilindehuzi_a2 小时前
TypeScript面试题:interface 与 type:相同点、核心区别与选择指南
java·ubuntu·typescript
Hotchip_MEMS2 小时前
TWS耳机微米级较量:超薄LGA封装如何助力MEMS麦克风小型化?
人工智能·笔记·物联网·电脑
Ztt6666666662 小时前
金泉方壶四面端正,月白釉却把棱角放柔了
经验分享·笔记·其他·百度·微信公众平台