文武集

004 / 手艺

Git 速查手册:用完即忘,忘了再查

7 MIN文武集 Nº 2026.07

用心思Since项目举例,实战导向,用完即忘。


一、Git 和 GitHub 的区别

GitGitHub
装在你电脑上的工具云端代码托管平台
管理代码版本让多人协作代码
离线可用需要网络

类比: Git = Word修订模式,GitHub = 百度网盘。


二、核心概念(6个就够)

仓库 Repository

代码项目本身。心思Since的iOS代码就是一个仓库。

分支 Branch

从主干分出来的副本,可以在上面随便改,不影响主代码。

常见分支:

  • main:正式版,稳定的代码
  • dev:开发中的代码
  • feature/xxx:做某个功能时的临时分支

提交 Commit

告诉Git"我改完了,存一下"。每次commit都是一张快照。

推送 Push

把本地commit上传到GitHub。

拉取 Pull

从GitHub下载最新代码到本地。

合并 Merge

把一个分支的改动合到另一个分支。


三、日常必用命令

## 看改了哪些文件
git status

## 把所有改动加入暂存区
git add .

## 提交(写清楚改了啥)
git commit -m "调整了首页按钮颜色"

## 推送到GitHub
git push

## 拉取最新代码
git pull

四、第一次拿到项目代码

## 从GitHub把仓库下载到本地
git clone https://github.com/你的用户名/Since-iOS.git

## 进入项目目录
cd Since-iOS

五、分支操作

## 查看所有分支
git branch

## 创建并切换到新分支
git checkout -b feature/历史记录

## 切换回main分支
git checkout main

## 把当前分支合并到main(先切到main)
git merge feature/历史记录

## 删除已合并的分支
git branch -d feature/历史记录

六、撤销操作

## 撤销工作区的修改(还没add)
git checkout -- 文件名

## 撤销暂存区的文件(add了但没commit)
git reset HEAD 文件名

## 撤销上一次commit(保留修改在工作区)
git reset --soft HEAD~1

## 完全丢弃最近一次commit(⚠️ 慎用,改动会丢失)
git reset --hard HEAD~1

七、查看历史

## 查看提交历史
git log

## 简洁版(一行一条)
git log --oneline

## 看某个文件的历史
git log -- 文件名

## 看某次commit改了什么
git show commit_id

八、冲突处理

两个人同时改了同一个文件的同一行,Git不知道该听谁的。

看到 <<<<<<< HEAD 这样的标记就是冲突了:

<<<<<<< HEAD
你改的代码
=======
别人改的代码
>>>>>>> branch-name

解决方法:

  1. 手动编辑,保留你要的版本
  2. 删掉所有 <<<<<<< ======= >>>>>>> 标记
  3. git add .
  4. git commit -m "解决了冲突"

九、.gitignore 文件

告诉Git哪些文件不用跟踪。iOS项目通常忽略:

## Xcode
*.xcodeproj/xcuserdata/
*.xcworkspace/xcuserdata/
DerivedData/
build/

## CocoaPods
Pods/

## macOS
.DS_Store

## 环境变量
.env

十、心思Since开发协作流程

斌哥(Xcode本地)          猴子(MonkeyCode)           GitHub
      |                         |                        |
      |--- pull最新代码 -------->|                        |
      |                         |--- 开发功能模块 -------->|
      |                         |--- commit + push ------>|
      |<--- pull同步代码 -------|                        |
      |--- 在Xcode里查看效果 --->|                        |
      |--- 小修改(Xcode AI)-->|                        |
      |--- commit + push ------------------------------>|
      |                         |<--- pull最新代码 -------|

十一、常见问题

Q: push不上去怎么办?git pull 拉最新代码,解决可能的冲突,再 push。

Q: 改错文件了怎么恢复?

git checkout -- 文件名    # 恢复到最后一次commit的状态

Q: commit message写错了?

git commit --amend -m "新的说明"    # 修改最后一次commit的说明

Q: 想暂时保存改动,先做别的事?

git stash          # 暂存当前改动
git stash pop      # 恢复暂存的改动

速查卡片

我想...命令
看看改了啥git status
提交代码git add . && git commit -m "说明"
推到GitHubgit push
拉最新代码git pull
开个新分支git checkout -b 分支名
切回maingit checkout main
合并分支git merge 分支名
看历史git log --oneline
撤销修改git checkout -- 文件名
暂存改动git stash

生成日期:2026-07-15 适用于心思Since项目协作

← 返回索引