Git 大冒险:解锁代码管理的秘密武器

公開日: 2025-03-18 23:55 937文字 5 min read

做产品前,先别急着写代码:我是怎么判断一个点子值不值得做的想偷卷?但微信不支持md文档?这个软件助你!新手小白如何开发练手项目?前端常见安全问题 + 防御方法 + 面试回答吉比特(雷霆游戏)前端二面问题总结吉比特27前端实习面试纷享销客前端实习一面08-刚体约束 Constraint07-监听碰撞事件和获取碰撞信息06 - 物体休眠与休眠事件详解(Cannon.js)05-碰撞与碰撞组04 - 弹性与接触材质详解03 - Cannon 材质与摩擦系数设置02 - Cannon 引擎基础碰撞讲解01 - Cannon.js 引擎的用途和基本使用一款减轻前端图片命名工作量的图片转换器总结:一个双非大学生的两年,是怎么过来的?数学公式Input-输入框组件实现详解用HTML5实现实时ASCII艺术摄像头object-fit: contain - CSS 属性详解GSAP (GreenSock Animation Platform) 动画库学习指南Webview通信系统学习指南实现手势操控3D粒子动画?太好玩了!东田数码科技前端面试前端性能优化面试回答技巧(一)React与Vue表单的对比差异融山科技前端面经·React的入门学习(一)九方前端面试JavaScript 核心:数组/字符串 API 精要指南JavaScript的常用数组API原理解析前端练习小网站-新手突破之路前端の骚操作代码合集 (二)| 让你的网页变得有趣前端Threejs入门(五)Vue 3 响应式原理:computed的模板解包机制Vue 监听器 watch 深度解析Axios 深入解析从0到1配置vue项目跟git仓库连接!前端Three.js入门(四)你懂keep-alive吗?见过Vue的小区保安吗?前端Three.js入门(三)前端Three.js入门(二)前端Three.js入门(一)-Three的第一个简单的页面 Git 大冒险:解锁代码管理的秘密武器如何将网站加载速度提升50%?前端性能优化全攻略前端の骚操作代码合集 | 让你的网页充满恶趣味进击蓝桥杯!2025web前端HTML5uniapp-页面生命周期
この投稿は「日本語」では表示できません。元の投稿を表示しています。
Git 大冒险:解锁代码管理的秘密武器 作者: 前端AC | 原文: https://juejin.cn/post/7482968613865324584 目录 1. Git 基础概念1git基础概念 2. 常用命令详解2常用命令详解 git initgitinit git ad...

Git 大冒险:解锁代码管理的秘密武器

作者: 前端AC | 原文: https://juejin.cn/post/7482968613865324584

目录

  1. Git 基础概念

1. Git 基础概念

  • 仓库(Repository):存储项目代码和版本历史的目录。
  • 工作区(Working Directory):本地修改文件的目录。
  • 暂存区(Staging Area):临时保存待提交的修改。
  • 提交(Commit):将暂存区的修改永久保存到版本历史。
  • 远程仓库(Remote):托管在服务器(如 GitHub/GitLab)的仓库副本。

2. 常用命令详解

git init

  • 用途:初始化一个新的 Git 仓库。
  • 命令
    git init
- 原理:在项目根目录创建隐藏的 `.git` 文件夹,用于存储版本信息。

---

### `git add`
- 用途:将工作区的修改添加到暂存区。
- 命令:
  ```bash
  # 添加所有修改(包括新增、修改、删除)
  git add .
  
  # 添加特定文件
  git add file1.txt file2.js
  
  # 添加所有修改(包括子目录)
  git add -A
  • 为什么需要暂存区:允许选择性提交部分修改,而非一次性提交所有改动。

git commit

  • 用途:将暂存区的修改提交到本地仓库。
  • 命令
    git commit -m "提交说明"
  • 提交说明规范
    • 首行简明描述(不超过50字)
    • 空一行后补充详细说明(可选)
    • 示例:
      feat: 添加用户登录功能
      
      - 实现 JWT 认证
      - 添加登录页面路由
  • 原理:每个提交生成唯一的 SHA-1 哈希值,记录作者、时间戳和修改内容。

git remote

  • 用途:管理远程仓库的关联。
  • 常用命令
    # 添加远程仓库(通常命名为 origin)
    git remote add origin https://github.com/user/repo.git
    
    # 查看已关联的远程仓库
    git remote -v
    
    # 删除远程仓库关联
    git remote remove origin
  • 为什么需要:本地仓库与远程仓库同步的基础。

git fetch

  • 用途:从远程仓库下载最新代码,但不合并到本地。
  • 命令
    git fetch origin main
  • 适用场景:查看他人提交的修改,但不想立即合并到工作区。

git pull

  • 用途:拉取远程仓库最新代码并自动合并到当前分支。
  • 命令
    git pull origin main
  • 等价操作git fetch + git merge
  • 冲突处理:如果本地有未提交的修改,需先提交或暂存(git stash)。

git push

  • 用途:将本地提交推送到远程仓库。
  • 命令
    git push origin main
  • 错误处理:若远程有更新,需先执行 git pull 解决冲突。

3. 工作流程解析

典型协作流程

  1. git pull → 拉取最新代码
  2. 修改文件 → 在工作区编辑
  3. git add → 添加到暂存区
  4. git commit → 提交到本地仓库
  5. git push → 推送到远程仓库

4. 常见问题与技巧

问题1:提交信息写错了怎么办?

git commit --amend -m "新的提交信息"

问题2:撤销未提交的修改

# 撤销工作区所有修改(危险!)
git checkout -- .

# 撤销特定文件的修改
git checkout -- file.txt

技巧:别名配置

~/.gitconfig 添加:

[alias]
  co = checkout
  cm = commit -m
  st = status

5. 推荐学习资源