李升伟 编译
在 IT 领域,很少有技术能像 Git 一样占据绝对主导地位,几乎无人能及。Git 在软件开发中扮演着核心角色,其影响力之大甚至让其他版本控制系统(如 SVN 和 Mercurial)几乎被淘汰。如今,我们已难以想象没有 Git 的软件开发场景。
掌握 Git 是每位软件开发者必须掌握的首批技能之一。虽然初学时可能显得复杂,但一旦理解基础概念,Git 就会成为一款强大且直观的版本控制工具。本文将介绍 10 个核心 Git 命令,助你掌控代码与工作流,迈向 Git 精通之路。
使用前准备 在开始之前,我推荐访问 0dev------一个基于自然语言的开源数据平台。通过 0dev,你可以无需复杂 SQL 查询访问数据、无需编码可视化数据,也无需数据科学经验即可生成洞察。
仓库地址:https://github.com/0dev-hq/0dev
假设你的机器已安装 Git。若不确定,可在终端运行:
python
git -v
若显示版本号则说明已安装,否则需安装或修复 Git。
核心命令详解
1. git init
初始化一个新的 Git 仓库,为项目启动版本控制。该命令会在项目目录下创建隐藏的 .git 文件夹,用于存储项目历史、分支及配置等数据。
示例
python
$ mkdir my_project
$ cd my_project
$ git init
执行后,项目即被纳入 Git 版本控制。
2. git clone
从远程服务器复制现有仓库到本地。常用于从 GitHub、GitLab 等平台获取完整项目,包括其完整历史、分支和文件。
示例
python
$ git clone https://github.com/0dev-hq/0dev
此命令会在当前目录创建名为 0dev 的文件夹并填充内容。
3. git add
将修改(新增或更新的文件)标记为跟踪状态。通过 git add 暂存更改,为后续提交做准备。此步骤确保你精确控制哪些修改被记录到提交历史中。
示例
python
$ git add index.html
暂存所有修改:
python
$ git add .
4. git commit
将暂存的更改提交到本地仓库,形成提交快照。提交后需通过 git push 同步到远程仓库。
示例
python
$ git commit -m "添加初始内容的 index.html"
-m 标志后接描述性信息,确保提交历史清晰可追溯。
5. git push
将本地提交的更改推送到远程仓库,使其对协作者可见。
示例
python
$ git push origin main
注意:
通常不直接推送至 main 分支,而是先创建功能分支。
首次推送新分支需指定上游:
python
$ git push -u origin your-branch-name
-u 标志设置默认上游分支,后续可直接使用 git push。
6. git branch
管理分支:创建、列出或删除分支。分支是隔离开发工作的核心工具,避免干扰主分支。
示例
创建新分支:
python
$ git branch feature-branch
7. git checkout
切换分支或恢复文件到先前版本。结合 -b 标志可创建并立即切换分支。
示例
切换到现有分支:
python
$ git checkout feature-branch
创建并切换分支:
python
$ git checkout -b new-branch-name
8. git pull
从远程仓库获取更新并合并到当前分支。等同于 git fetch + git merge。
示例
python
$ git pull origin main
若存在冲突,需手动解决后提交。
9. git merge & git fetch
git merge:将其他分支的更改合并到当前分支。
git fetch:仅下载远程更新而不立即合并,便于预览后再操作。
示例
合并分支:
python
$ git checkout main
$ git merge feature-branch
合并后提交:
python
$ git commit
仅获取更新:
python
$ git fetch origin
10. git status & git log
git status:查看工作目录状态(修改、暂存等)。
git log:查看提交历史,--oneline 参数简化输出。
示例
python
$ git status
$ git log --oneline
总结
这些命令构成了 Git 的基石,掌握它们能让你高效管理项目历史并提升协作能力。后续文章将深入探讨进阶命令,如优化工作流、冲突解决等高级技巧。现在,是时候开始你的 Git 旅程了!
原文链接:https://dev.to/mohsenkamrani/10-first-git-commands-you-need-to-know-337i