三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

MacBook玩转Git全攻略:从零安装到实战协作一篇通!

MacBook玩转Git全攻略:从零安装到实战协作一篇通!

1. Git基础与Mac环境适配

刚拿到MacBook的程序员朋友,第一件事就是配置开发环境。Git作为版本控制的黄金标准,在团队协作中必不可少。我的第一台工作用Mac是2019款Intel芯片的Pro,当时发现系统居然没预装Git,后来才知道只有M1芯片的新机型才会自带。如果你也是非M1用户,别担心,安装过程比想象中简单得多。

Git本质上是个"代码时光机",它能记录每个文件的修改历史。想象你写论文时,每次修改都另存为新文件,最后文件夹里堆满"论文终版""论文真终版""论文绝对不改版"——Git就是帮你自动化管理这些版本的智能助手。Linus Torvalds当年开发Linux时,就是因为找不到好用的版本工具,索性自己写了Git,现在它已成为全球开发者协作的基石。

在Mac上安装Git主要有三种方式:

  1. 官方安装包:适合不想折腾环境的新手
  2. Homebrew安装:推荐给需要多工具管理的用户
  3. Xcode命令行工具:适合iOS/macOS开发者

我推荐用Homebrew,虽然要多装个工具,但后续管理更方便。打开终端输入:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" brew install git

安装后别急着用,先做三件事:

  • 检查版本:git --version
  • 配置全局用户(重要!每次提交都会记录这个信息):
git config --global user.name "你的名字" git config --global user.email "公司邮箱"
  • 设置大小写敏感(避免后续奇葩问题):
git config --global core.ignorecase false

2. 本地仓库实战操作

创建第一个仓库时,我犯过把整个桌面初始化成Git仓库的错误——结果所有临时文件都被追踪了。正确做法是:

mkdir my_project && cd my_project git init

这个命令会生成隐藏的.git目录,就像项目的"黑匣子",记录所有变更历史。建议把代码文件都放在项目目录内,我见过有人把文件存在仓库外,然后奇怪为什么Git不追踪变化。

日常开发最常用的三连招:

git add . # 快照当前修改 git commit -m "描述" # 永久存档 git status # 查看状态

有次我commit完发现漏了文件,这时候可以:

git add missing_file git commit --amend # 修正上次提交

版本穿梭是Git的杀手锏。通过git log --oneline查看精简历史,用git reset --hard 版本号回到过去。有次我不小心删了重要文件,就是靠这个命令找回来的。注意:

  • --hard会丢弃所有修改(慎用!)
  • --soft只回退提交记录
  • --mixed保留工作区修改(默认选项)

3. 分支管理艺术

分支就像平行宇宙,可以同时开发多个功能而不互相干扰。新手常犯的错误是在master分支直接开发,等要上线时发现一堆半成品代码。我的工作流一般是:

  1. git checkout -b feature/新功能创建特性分支
  2. 开发完成后git push origin feature/新功能
  3. 在GitHub创建Pull Request合并到主分支

查看分支差异超实用:

git diff master..feature/新功能

合并冲突时别慌,用git mergetool调出可视化工具。有次我和同事同时修改了同一行代码,Git会用<<<<<<<标记冲突位置,手动解决后记得:

git add 冲突文件 git commit # 不要加-m参数

4. 远程协作全流程

连接GitHub就像给本地仓库装了个云备份。第一次配置时需要在终端输入:

ssh-keygen -t ed25519 # 生成密钥对 pbcopy < ~/.ssh/id_ed25519.pub # 复制公钥

把公钥粘贴到GitHub的SSH设置里,之后每次推送就不用输密码了。

克隆项目有两种方式:

  • HTTPS适合临时贡献者
  • SSH适合长期维护者(推荐)

我常用的协作命令组合:

git fetch # 获取远程更新 git rebase origin/main # 优雅合并(比merge更干净) git push --force-with-lease # 安全强制推送

遇到non-fast-forward错误说明有人先推送了代码,这时候应该先git pull合并最新代码。

5. 高效工作技巧

.gitignore文件是避免提交垃圾文件的关键。我的配置通常包含:

.DS_Store node_modules/ *.log .idea/

有次我忘了配置,结果把10GB的训练模型提交了上去,回退时简直噩梦。

别名能大幅提升效率,把这些加入~/.gitconfig

[alias] co = checkout br = branch ci = commit st = status lg = log --graph --abbrev-commit

遇到复杂问题别硬扛,善用:

git reflog # 查看所有操作记录 git bisect # 二分法排查bug git stash # 临时保存未完成工作

最后提醒几个Mac专属技巧:

  • open .快速打开Finder
  • Command+Shift+.显示隐藏文件
  • 在终端用git config --global core.editor "code --wait"设置VSCode为默认编辑器

Git的学习曲线像过山车——开始觉得简单,中间会遇到各种坑,熟练后就会发现它无所不能。我的经验是:多动手实操,犯错就查文档,关键操作前先备份。现在你完全可以自信地在团队项目里贡献代码了。

← 返回列表