当前位置: 首页 > news >正文

掌握 Git 的十大基础命令

李升伟 编译

在 IT 领域,很少有技术能像 Git 一样占据绝对主导地位,几乎无人能及。Git 在软件开发中扮演着核心角色,其影响力之大甚至让其他版本控制系统(如 SVN 和 Mercurial)几乎被淘汰。如今,我们已难以想象没有 Git 的软件开发场景。

掌握 Git 是每位软件开发者必须掌握的首批技能之一。虽然初学时可能显得复杂,但一旦理解基础概念,Git 就会成为一款强大且直观的版本控制工具。本文将介绍 10 个核心 Git 命令,助你掌控代码与工作流,迈向 Git 精通之路。

使用前准备 在开始之前,我推荐访问 0dev——一个基于自然语言的开源数据平台。通过 0dev,你可以无需复杂 SQL 查询访问数据、无需编码可视化数据,也无需数据科学经验即可生成洞察。

仓库地址:https://github.com/0dev-hq/0dev

假设你的机器已安装 Git。若不确定,可在终端运行:

git -v

若显示版本号则说明已安装,否则需安装或修复 Git。

核心命令详解

1. git init

初始化一个新的 Git 仓库,为项目启动版本控制。该命令会在项目目录下创建隐藏的 .git 文件夹,用于存储项目历史、分支及配置等数据。

示例

$ mkdir my_project
$ cd my_project
$ git init

执行后,项目即被纳入 Git 版本控制。

2. git clone

从远程服务器复制现有仓库到本地。常用于从 GitHub、GitLab 等平台获取完整项目,包括其完整历史、分支和文件。

示例

$ git clone https://github.com/0dev-hq/0dev

此命令会在当前目录创建名为 0dev 的文件夹并填充内容。

3. git add

将修改(新增或更新的文件)标记为跟踪状态。通过 git add 暂存更改,为后续提交做准备。此步骤确保你精确控制哪些修改被记录到提交历史中。

示例

$ git add index.html

暂存所有修改:

$ git add .

4. git commit

将暂存的更改提交到本地仓库,形成提交快照。提交后需通过 git push 同步到远程仓库。

示例

$ git commit -m "添加初始内容的 index.html"

-m 标志后接描述性信息,确保提交历史清晰可追溯。

5. git push

将本地提交的更改推送到远程仓库,使其对协作者可见。

示例

$ git push origin main

注意:

通常不直接推送至 main 分支,而是先创建功能分支。
首次推送新分支需指定上游:

$ git push -u origin your-branch-name

-u 标志设置默认上游分支,后续可直接使用 git push。

6. git branch

管理分支:创建、列出或删除分支。分支是隔离开发工作的核心工具,避免干扰主分支。

示例

创建新分支:

$ git branch feature-branch

7. git checkout

切换分支或恢复文件到先前版本。结合 -b 标志可创建并立即切换分支。

示例

切换到现有分支:

$ git checkout feature-branch

创建并切换分支:

$ git checkout -b new-branch-name

8. git pull

从远程仓库获取更新并合并到当前分支。等同于 git fetch + git merge。

示例

$ git pull origin main

若存在冲突,需手动解决后提交。

9. git merge & git fetch

git merge:将其他分支的更改合并到当前分支。
git fetch:仅下载远程更新而不立即合并,便于预览后再操作。
示例

合并分支:

$ git checkout main
$ git merge feature-branch

合并后提交:

$ git commit

仅获取更新:

$ git fetch origin

10. git status & git log

git status:查看工作目录状态(修改、暂存等)。
git log:查看提交历史,–oneline 参数简化输出。
示例

$ git status
$ git log --oneline

总结

这些命令构成了 Git 的基石,掌握它们能让你高效管理项目历史并提升协作能力。后续文章将深入探讨进阶命令,如优化工作流、冲突解决等高级技巧。现在,是时候开始你的 Git 旅程了!

原文链接:https://dev.to/mohsenkamrani/10-first-git-commands-you-need-to-know-337i


文章转载自:

http://w4TOBJIj.gmrxh.cn
http://0zNINAAF.gmrxh.cn
http://sX63rBDV.gmrxh.cn
http://7AfBacXw.gmrxh.cn
http://xU5r34zz.gmrxh.cn
http://Z6taPtTP.gmrxh.cn
http://m51SdQzD.gmrxh.cn
http://vLOgrs3E.gmrxh.cn
http://AWzAdJWJ.gmrxh.cn
http://Ubr0KVc4.gmrxh.cn
http://23hiGzEm.gmrxh.cn
http://VoYco7Lo.gmrxh.cn
http://gaqjNv6f.gmrxh.cn
http://LBc2srK4.gmrxh.cn
http://dXfCnCCj.gmrxh.cn
http://dSe0FsSy.gmrxh.cn
http://Uuli5ZDJ.gmrxh.cn
http://LLsi34Lu.gmrxh.cn
http://NGOMeIhE.gmrxh.cn
http://xOI5CGFa.gmrxh.cn
http://ZOlfWvGC.gmrxh.cn
http://eFE6ji3G.gmrxh.cn
http://XixT0qTB.gmrxh.cn
http://n1uiGBs0.gmrxh.cn
http://MPKeK4vx.gmrxh.cn
http://aBByh27V.gmrxh.cn
http://s5MiX1bt.gmrxh.cn
http://LDIIbjxU.gmrxh.cn
http://LIvVSvEi.gmrxh.cn
http://XIJHmuOI.gmrxh.cn
http://www.dtcms.com/a/128313.html

相关文章:

  • 五分钟了解智能体
  • node从14升级到22,vue2项目调整内容
  • EtherCAT从站错误0x001D调试指南
  • Python杨辉三角形
  • 71.case语句要比if-else 语句费逻辑单元
  • Spring Boot 测试详解,包含maven引入依赖、测试业务层类、REST风格测试和Mock测试
  • 20250412 机器学习ML -(3)数据降维(scikitlearn)
  • 软件设计师综合知识点总结(根据 教材+视频+刷题 总结整理)
  • Linux基础13
  • 【Flink运行时架构】作业提交流程
  • Java如何获取文件的编码格式?
  • Leedcode刷题 | Day31_贪心算法05
  • x-cmd install | yr - 告别网页!在终端轻松掌控天气预报
  • 小白学习java第12天(上):网络编程
  • Rasa中config.yml文件信息详细解释
  • RCE漏洞学习
  • 【Vue #3】指令补充样式绑定
  • 仿真每日一练 | Workbench移动载荷作用下旋转楼梯瞬态特性分析
  • idea 保存格式化 但是不格式化 Xml
  • 【AI论文】VCR-Bench:视频链式思考推理的综合评估框架
  • 如何查看自己 Android App 的私有数据?从 `adb backup` 到数据提取全过程
  • 01_核心系统下的技术原理解析
  • 从代码学习深度学习 - Bahdanau注意力 PyTorch版
  • 探索DeepFM:双重特征交互模型让CTR预测更精准
  • springcloud整理
  • inux 基础入门操作 第十章 C++多线程介绍 2
  • 计算齿轮故障频率|平行轴|行星轮齿轮
  • 八股系列(分布式与微服务)持续更新!
  • 初阶数据结构--链式二叉树
  • 解决电脑问题——突然断网!