Git 小白也能懂:add, commit, push, pull 四大神器操作指南


你好,未来的 Git 大神!你是不是也曾被一堆 Git 命令搞得晕头转向?别担心,今天咱们就用最接地气的方式,聊聊 Git 世界里出场率最高的四个“明星”命令:add, commit, push, 和 pull。包你一看就懂,一学就会!

一、git add:把你的代码“装上车”

想象一下,你正在搬家,一堆零零散散的东西需要打包。git add 就好比是你把要搬走的东西(你修改过的代码)放进箱子(暂存区)里的过程。 这个动作告诉 Git:“嘿,这些文件是我要提交的,你先帮我看着。”

代码示例

# 添加一个特定的文件
git add README.md

# 添加整个目录下的所有变更
git add docs/

# 添加当前目录下所有的变更(新文件、修改的文件、删除的文件)
git add .

解析

  • git add <文件名>:这是最精准的添加方式,明确告诉 Git 你要追踪哪个文件的变化。
  • git add <目录名>:把指定目录下的所有改动都加到暂存区。
  • git add .:这是一个“懒人”操作,但非常好用。它会把当前目录下所有文件的改动(增、删、改)都加到暂存区。

案例

假设你正在开发一个新功能,修改了 header.htmlstyle.css 两个文件。同时,你还为了调试,在 test.js 里加了一行 console.log。现在你只想提交 header.htmlstyle.css 这两个和新功能相关的文件,test.js 的改动暂时不想提交。

这时候,你就可以这样做:

git add header.html style.css

这样一来,只有 header.htmlstyle.css 的修改被“打包”进了暂存区,而 test.js 的改动则被留在了你的工作区,不会影响你下一次的提交。

二、git commit:给你的“包裹”贴上标签

东西装好箱了,总得写个标签,说明里面装的是什么吧?git commit 就是这个贴标签的过程。 它会把暂存区里的所有内容,生成一个版本快照,并永久保存在你的本地仓库历史里。

代码示例

# 提交并附上一段简短的说明
git commit -m "修复了首页的显示bug"

# 提交并打开默认编辑器,编写更详细的说明
git commit

解析

  • git commit -m "你的提交信息":这是最常用的提交方式。-m 参数后面跟着的字符串就是你的提交说明,建议写得清晰明了。 好的提交信息应该简短且具有描述性。
  • 直接使用 git commit:如果你觉得一句话说不清楚,可以直接运行这个命令。Git 会打开你配置的默认文本编辑器(比如 Vim),让你写下更详细的提交信息。

案例

继续上面的例子,你已经用 git addheader.htmlstyle.css 的修改添加到了暂存区。现在,你要正式提交这次的修改。

git commit -m "新增网站导航栏功能"

执行完这个命令后,你的本地仓库里就有了一个新的“版本记录”。这个记录包含了 header.htmlstyle.css 在这个时间点的所有内容,并且附带了 “新增网站导航栏功能” 这条清晰的说明。以后你想知道导航栏是什么时候加的,翻翻提交历史就一目了然了。

三、git push:把你的成果“发快递”到远方

你在本地打包、贴好标签的“包裹”,总得寄出去给小伙伴们分享吧?git push 就是这个“发快递”的动作,它把你本地仓库的提交记录上传到远程仓库(比如 GitHub 或 GitLab)。 这样,团队里的其他人就能看到你的代码变更了。

代码示例

# 将当前分支的提交推送到名为 origin 的远程仓库
git push origin main

# 如果本地分支和远程分支已关联,可以简化为
git push

解析

  • git push <远程仓库名> <分支名>:这是一个完整的推送命令。origin 通常是 Git 默认的远程仓库名字,main 是主分支的名字。
  • 首次推送一个新创建的本地分支时,你可能需要用到 git push -u origin <分支名> 或者 git push --set-upstream origin <分支名>。 这个 -u 参数会把你的本地分支和远程分支关联起来,之后你在这个分支上就可以直接使用 git push 了。

案例

你本地的 feature-login 分支已经开发完毕,并且提交了好几个 commit。现在,是时候让其他同事看看你的成果,或者把代码部署到测试服务器了。

git push origin feature-login

这条命令会把 feature-login 分支上所有本地的、但远程仓库还没有的提交,一次性全部推送到 origin 这个远程仓库。你的同事们只需要切换到这个分支,就能看到你最新的代码了。

四、git pull:从远方“收快递”并更新

有来有往,你把代码推送上去,也需要随时获取别人推送的最新代码。git pull 就是帮你“收快递”的。 它会从远程仓库拉取最新的代码,并自动尝试合并到你当前所在的本地分支。

简单来说,git pull = git fetch (拉取最新代码) + git merge (合并到本地)。

代码示例

# 从名为 origin 的远程仓库拉取 main 分支的最新代码,并合并到当前分支
git pull origin main

# 如果本地分支和远程分支已关联,可以简化为
git pull

解析

  • git pull <远程仓库名> <分支名>:从指定的远程仓库和分支拉取更新。
  • git pull vs git fetch:这是一个常见的问题。git fetch 只是把远程的最新代码下载到你的本地,但不会对你当前的工作代码做任何修改,更加安全。 而 git pull 会在下载后立刻尝试合并。 对于新手来说,git pull 更直接方便;但如果你想在合并前先看看别人都改了啥,可以先用 git fetch

案例

你早上来到公司,准备开始一天的工作。第一件事,就是要确保你的本地代码是和团队最新的代码保持同步的。假设你正在 main 分支上。

git pull origin main

Git 就会去检查远程的 main 分支有没有新的提交。如果有,它会把这些新的提交下载下来,并且合并到你本地的 main 分支。这样,你就站在了和团队其他人一样的“起跑线”上,可以愉快地开始写新代码了。


好了,这就是 Git 四大基本命令的全部内容啦!是不是很简单?

  • add 是打包。
  • commit 是贴标签。
  • push 是发快递。
  • pull 是收快递。

记住这个形象的比喻,多加练习,你很快就能从 Git 小白变身为团队里的代码管理小能手!


  目录