Mac 上使用命令行管理 Git 项目

前言

Git 是开发者必备的版本管理工具。本文介绍在 Mac 上通过命令行使用 Git 的完整流程,适合刚接触 Git 的读者。

一、安装 Git

Mac 通常自带 Git,打开终端(Terminal)验证:

git --version

如果没安装,会提示你安装 Xcode Command Line Tools,按提示确认即可。或者用 Homebrew 安装:

brew install git

二、配置 Git

安装后先配置用户名和邮箱,这些信息会记录在每次提交中:

git config --global user.name "你的名字"
git config --global user.email "你的邮箱@example.com"

查看配置:

git config --global --list

三、创建新仓库

方式一:从零开始

# 创建项目目录
mkdir my-project
cd my-project

# 初始化 Git 仓库
git init

方式二:克隆远程仓库

git clone git@github.com:用户名/仓库名.git

四、日常开发流程

1. 查看状态

git status

显示当前工作区的状态——哪些文件修改了、哪些还没跟踪。

2. 添加文件到暂存区

# 添加单个文件
git add 文件名

# 添加所有变更
git add -A

# 添加当前目录所有变更
git add .

3. 提交变更

git commit -m "提交说明"

好的提交说明应该简洁明了,说明”做了什么”而不是”怎么做的”。

4. 推送到远程仓库

git push

首次推送需要关联远程仓库:

git remote add origin git@github.com:用户名/仓库名.git
git push -u origin main

5. 拉取最新代码

git pull

五、分支管理

创建和切换分支

# 创建新分支
git branch 分支名

# 切换到该分支
git checkout 分支名

# 创建并切换(一步到位)
git checkout -b 分支名

查看分支

# 查看本地分支
git branch

# 查看所有分支(包括远程)
git branch -a

合并分支

# 先切换到目标分支(如 main)
git checkout main

# 合并其他分支
git merge 分支名

删除分支

# 删除本地分支
git branch -d 分支名

# 删除远程分支
git push origin --delete 分支名

六、查看历史

# 查看提交历史
git log

# 简洁模式(一行一个提交)
git log --oneline

# 图形化查看
git log --graph --oneline --all

七、撤销操作

撤销工作区的修改

git restore 文件名

撤销暂存区的文件

git restore --staged 文件名

修改最后一次提交

# 如果提交后发现有文件漏了,或者提交信息写错了
git add 漏掉的文件
git commit --amend --no-edit

回退到某个版本

# 查看提交历史,找到要回退到的 commit id
git log --oneline

# 回退到指定版本(保留工作区修改)
git reset --soft commit_id

# 回退到指定版本(丢弃工作区修改)
git reset --hard commit_id

注意: --hard 会丢弃所有未提交的修改,谨慎使用。

八、配置 SSH(推荐)

使用 SSH 方式连接 GitHub,避免每次推送输入密码。

1. 生成 SSH 密钥

ssh-keygen -t ed25519 -C "你的邮箱@example.com"

一路回车即可,密钥会生成在 ~/.ssh/ 目录下。

2. 查看公钥

cat ~/.ssh/id_ed25519.pub

3. 添加到 GitHub

  1. 打开 https://github.com/settings/keys
  2. 点击 “New SSH Key”
  3. 粘贴公钥,保存

4. 验证连接

ssh -T git@github.com

看到 Hi 用户名! You've successfully authenticated 就说明配置成功了。

5. 修改远程地址为 SSH

git remote set-url origin git@github.com:用户名/仓库名.git

九、.gitignore 文件

在项目根目录创建 .gitignore 文件,写入不需要 Git 跟踪的文件或目录:

node_modules/
dist/
.env
.DS_Store
*.log

这样 git add -A 时就会自动忽略这些文件。

十、完整工作流示例

# 1. 克隆仓库
git clone git@github.com:用户名/my-project.git
cd my-project

# 2. 创建新分支开发
git checkout -b feature/new-page

# 3. 修改代码...

# 4. 查看状态
git status

# 5. 添加并提交
git add -A
git commit -m "新增页面"

# 6. 推送到远程
git push -u origin feature/new-page

# 7. 在 GitHub 上创建 Pull Request

# 8. 合并后删除本地分支
git checkout main
git pull
git branch -d feature/new-page

常用命令速查

命令作用
git init初始化仓库
git clone <url>克隆远程仓库
git status查看状态
git add <file>添加文件到暂存区
git commit -m "msg"提交变更
git push推送到远程
git pull拉取远程更新
git branch查看分支
git checkout -b <name>创建并切换分支
git merge <branch>合并分支
git log --oneline查看提交历史
git restore <file>撤销修改
git diff查看具体修改内容

结语

Git 命令行刚开始可能觉得繁琐,但熟悉后比图形化工具更高效。多练几次就习惯了,遇到问题可以用 git --help 查看帮助。