大家好,我是小悟。
想象一下,你写代码就像在写一部小说。如果没有Git,你的写作过程可能是这样的:
你的文件夹最后会变成这样:
项目_备份/
项目_最终版/
项目_真的最终版/
项目_昨天备份/
项目_改之前/
项目_不知道这是啥但先留着/Git就是这个混乱世界的救世主! 它就像一个:
# 先给自己贴个标签(重要!不然你的代码就是“无名氏”写的)
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"
# 新建项目时的仪式感
mkdir my-awesome-project
cd my-awesome-project
git init # 恭喜!你现在是个Git玩家了
# 或者直接克隆别人的宝库
git clone https://github.com/某人/某项目.git# 场景:你刚写了一个惊天动地的功能
# 1. 先看看自己干了啥(免得提交了不该提交的)
git status
# 它会告诉你:嘿兄弟,你有37个文件改了,2个文件删了,还有个叫node_modules的怪物文件夹
# 2. 把修改加入“暂存区”(想象成购物车)
git add . # 全都要!(但慎用,可能把测试代码也加进去)
# 或者精挑细选
git add src/awesome-feature.js
git add README.md
# 3. 给这次修改起个响亮的名字(别写“fix bug”,三个月后你会恨自己)
git commit -m "添加了让用户惊呼的炫酷功能
- 用户现在可以一键生成彩虹独角兽
- 修复了昨天咖啡洒键盘上导致的bug
- 优化了性能,现在快得能追上光速"
# 4. 推送到远程仓库(不然只有你电脑能看见)
git push origin main
# 如果报错?大概率是队友比你快一步,先拉取一下
git pull origin main
# 解决冲突后再push# 查看所有分支(就像看你的多重人格)
git branch
# 输出:
# * main # 当前人格
# feature-ai # 在写AI功能的人格
# fix-bug # 在修bug的人格
# 创建新分支(分裂出新人格)
git checkout -b feature-magic-spell
# 等价于:
git branch feature-magic-spell # 创建分支
git checkout feature-magic-spell # 切换过去
# 在新分支里为所欲为
echo "console.log('阿瓦达啃大瓜!');" > spell.js
git add .
git commit -m "添加不可饶恕咒(仅供开发测试)"
# 切回主分支(恢复正常人格)
git checkout main
# 合并分支(人格融合!)
git merge feature-magic-spell# 场景1:刚才的代码写得像一坨意大利面
git checkout -- 文件名 # 单个文件回到上次提交的状态
# 场景2:add错了文件
git reset HEAD 文件名 # 从暂存区移除
# 场景3:刚才的提交信息写成了“asdfjkl;”
git commit --amend -m "正经的提交信息"
# 场景4:想回到昨天的幸福时光
git log # 查看提交历史,找到那个幸福的commit id
git reset --hard commit_id # 警告!这是后悔药中的核弹
# 更温柔的方式
git revert commit_id # 新建一个提交来撤销之前的提交# 1. 每天开始前先同步最新代码
git pull origin main
# 2. 在独立分支上开发
git checkout -b feature/你的名字-功能描述
# 3. 经常提交,写清晰的提交信息
git add .
git commit -m "完成用户登录功能的前端验证部分"
# 4. 推送到远程
git push origin feature/你的名字-功能描述
# 5. 在GitHub/GitLab上发起Pull Request(合并请求)
# 等队友review,修改,最后合并
# 6. 删除已经合并的本地分支(保持整洁)
git branch -d feature/你的名字-功能描述# 暂存当前工作(临时有事要处理其他bug)
git stash # “等我一下,马上回来”
git stash list # 查看所有暂存的工作
git stash pop # 恢复最近暂存的工作
# 查看谁写了这行天杀的代码
git blame 文件名
# 输出:每行代码后面跟着作者和提交信息
# 可以理直气壮地说:“看!这bug不是我写的!”
# 优雅的提交历史
git log --oneline --graph --all
# 输出漂亮的树状图,适合截图发朋友圈装X
# 搜索历史提交
git log -p --grep="登录" # 搜索包含“登录”的提交.gitignore文件告诉Git哪些要忽略,比如:node_modules/
*.log
.env
.DS_Store工作区 → 暂存区 → 本地仓库 → 远程仓库
↓ ↓ ↓ ↓
写代码 → 挑挑拣拣 → 正式保存 → 云端备份Git就像一段感情关系:
记住,每个Git大神都曾经:
现在,去征服你的代码吧!当你第一次成功解决冲突时,那种感觉就像拆弹专家剪对了电线一样刺激。祝你提交愉快,合并顺利,永远不需要git reset --hard!
温馨提示:如果你的Git操作让项目回到了石器时代,别慌,深呼吸,然后小声说:“我好像需要备份的备份的备份…”

谢谢你看我的文章,既然看到这里了,如果觉得不错,随手点个赞、转发、在看三连吧,感谢感谢。那我们,下次再见。
您的一键三连,是我更新的最大动力,谢谢
山水有相逢,来日皆可期,谢谢阅读,我们再会
我手中的金箍棒,上能通天,下能探海
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。