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
相关推荐
人道领域2 小时前
【LeetCode刷题日记】239.滑动窗口最大值:单调队列解法(困难)
java·开发语言·算法
wuxinyan1232 小时前
Java面试题53:一文深入了解RAG(检索增强生成)核心概念
java·人工智能·机器学习·面试·rag
常利兵2 小时前
安卓启动页Logo适配秘籍:告别“奇形怪状”的展示
android·java·开发语言
程序员阿明2 小时前
spring boot3集成企业微信推送消息
java·spring boot·企业微信
SamDeepThinking2 小时前
用工厂模式和模板方法统一封装所有第三方的Access Token
java·后端·架构
AI人工智能+电脑小能手2 小时前
【大白话说Java面试题】【Java基础篇】第17题:HashMap的加载因子为什么是0.75而不是1或0.5
java·开发语言·算法·哈希算法·散列表
huipeng9262 小时前
GateWay使用详解
java·spring boot·spring cloud·微服务·gateway
克拉拉KLARA2 小时前
vscode禁用在git提交中插入ai coauthor copilot
git·vscode·copilot
AKA__Zas2 小时前
初识多线程(初初识)
java·服务器·开发语言·学习方法