Git 常用命令

Git 常用命令

不再孤独ing MVP++

Git 常用命令(按操作流程排序,可直接复制)

以下命令按「从无到有完成代码开发-提交-同步」的实际操作顺序整理,覆盖本地开发、远程同步全流程,新手可按步骤执行。

一、初始化阶段(首次接触仓库)

场景1:本地新建仓库并关联远程

1
2
3
4
5
6
7
8
# 1. 进入本地项目文件夹
cd /本地项目路径
# 2. 初始化本地 Git 仓库
git init
# 3. 关联远程 GitHub 仓库(替换为自己的仓库地址)
git remote add origin git@github.com:用户名/仓库名.git
# 4. 查看远程关联是否正确
git remote -v

场景2:直接克隆远程仓库到本地

1
2
3
4
# 克隆远程仓库到本地(推荐 SSH 方式)
git clone git@github.com:用户名/仓库名.git
# 进入克隆后的文件夹
cd 仓库名

二、本地开发&提交阶段

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 1. 查看本地文件变更状态(开发中随时检查)
git status
# 2. 将所有变更文件添加到暂存区
git add .
# (可选)仅添加指定文件,避免添加无关文件
git add 具体文件名/文件夹名
# 3. 提交暂存区文件到本地仓库(必须写清晰备注)
git commit -m "提交说明:如新增登录功能/修复数据展示bug"
# (可选)若提交后想修改备注(未推远程时用)
git commit --amend -m "修正后的提交说明"
# (可选)撤销暂存区文件(比如误加了不需要的文件)
git reset HEAD 误加的文件名
# (可选)撤销工作区文件修改(恢复到最近一次提交状态)
git checkout -- 要恢复的文件名

三、分支操作(多分支开发必用)

1
2
3
4
5
6
7
8
# 1. 查看所有分支(本地+远程)
git branch -a
# 2. 创建并切换到新分支(如开发新功能的 dev 分支)
git checkout -b dev
# 3. 切换回主分支(如 main/master)
git checkout main
# 4. 将 dev 分支合并到当前主分支
git merge dev

四、远程同步阶段(推送/拉取)

1. 推送本地代码到远程仓库

1
2
3
4
5
6
# 首次推送当前分支(如 main),-u 绑定分支(后续可简化命令)
git push -u origin main
# 日常推送(已绑定分支后)
git push
# 推送本地新分支到远程(如 dev 分支)
git push origin dev

2. 拉取远程最新代码到本地

1
2
3
4
5
6
7
8
# 日常拉取远程分支最新代码并合并(如 main 分支)
git pull origin main
# (可选)仅拉取远程代码不合并(需手动处理)
git fetch origin main
# (可选)拉取时本地有未提交变更,先暂存再拉取
git stash # 暂存本地变更
git pull origin main # 拉取远程代码
git stash pop # 恢复暂存的变更并解决冲突

五、应急&问题处理

1
2
3
4
5
6
7
8
9
10
11
# 1. 查看提交历史(简洁版,方便找回历史版本)
git log --oneline
# 2. 回滚到指定版本(根据 log 中的提交ID)
git reset --hard 提交ID(如 8a7b6c9)
# 3. 强制拉取远程代码覆盖本地(谨慎用,会丢失本地未提交变更)
git fetch --all
git reset --hard origin/main
# 4. 删除远程分支(如功能开发完成后删除 dev 分支)
git push origin --delete dev
# 5. 删除本地分支(如合并后删除 dev 分支)
git branch -d dev

六、修改远程仓库关联(可选)

1
2
3
4
5
# 1. 修改已关联的远程仓库地址(如换仓库/改用户名)
git remote set-url origin git@github.com:新用户名/新仓库名.git
# 2. (可选)先删除原有关联,再重新添加
git remote remove origin
git remote add origin git@github.com:新用户名/新仓库名.git

核心流程总结

  1. 初始化/克隆仓库 → 本地开发 → git add → git commit;
  2. 分支操作(可选)→ git push 推送 / git pull 拉取;
  3. 冲突处理优先用 git stash 暂存本地变更,避免直接覆盖。

Comments