Git 常用操作与注意事项全攻略

1. 基本配置

bash 复制代码
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"
git config --list   # 查看当前配置

建议全局配置用户名和邮箱,否则提交记录可能不规范

2.仓库操作

初始化本地仓库
bash 复制代码
git init

只在新建项目时使用,已有仓库不用再 init。

克隆远程仓库
bash 复制代码
git clone 仓库地址
# 例:git clone git@codeup.aliyun.com:d1/dxInside/MU86.git

克隆后会自动进入项目目录,注意切换到正确目录再操作

3.分支操作

查看分支
bash 复制代码
git branch           # 查看本地分支
git branch -r        # 查看远程分支
git branch -a        # 查看所有分支
新建分支
bash 复制代码
git branch 分支名

新建分支不会自动切换,需手动切换。

切换分支
bash 复制代码
git checkout 分支名
# 或
git switch 分支名

切换前请确保当前更改已提交或已暂存,否则可能导致冲突。

新建并切换分支
bash 复制代码
git checkout -b 分支名
# 或
git switch -c 分支名
删除分支
bash 复制代码
git branch -d 分支名         # 删除本地分支(已合并)
git branch -D 分支名         # 强制删除本地分支(未合并)
git push origin --delete 分支名  # 删除远程分支

删除分支前请确认分支内容已备份或合并。

4. 代码提交

查看状态
bash 复制代码
git status
添加文件到暂存区
bash 复制代码
git add 文件名
git add .           # 添加所有更改

git add . 会添加所有更改,包括删除和新建,操作前请确认。

提交更改
bash 复制代码
git commit -m "提交说明"

提交说明建议简明扼要,便于团队协作。

5. 远程操作

查看远程仓库
bash 复制代码
git remote -v
添加远程仓库
bash 复制代码
git remote add origin 仓库地址

一个仓库可以有多个远程(如 origin、upstream),注意区分。

拉取远程代码
bash 复制代码
git pull                # 拉取当前分支对应的远程分支
git pull origin 分支名  # 拉取指定远程分支到当前分支

拉取前建议先提交本地更改,避免冲突。

推送代码到远程
bash 复制代码
git push                # 推送当前分支到远程
git push origin 分支名  # 推送当前分支到远程指定分支
git push -u origin 分支名  # 首次推送并建立关联

推送前建议先拉取远程最新代码,避免覆盖他人提交。

6. 合并与变基

合并分支
bash 复制代码
git merge 其他分支名

合并前建议先拉取最新代码,合并后如有冲突需手动解决。

变基(rebase)
bash 复制代码
git rebase 其他分支名

rebase 会重写提交历史,协作开发时慎用,避免影响他人。

7. 撤销与回退

撤销未提交的更改
bash 复制代码
git checkout -- 文件名

会丢弃文件的本地更改,谨慎操作。

撤销已暂存的更改
bash 复制代码
git reset HEAD 文件名
回退到某次提交
bash 复制代码
git log                # 查看提交历史,找到commit id
git reset --hard commit_id

--hard 会丢弃所有未提交的更改,操作前请备份重要内容。

8. 查看日志

bash 复制代码
git log
git log --oneline
git log --graph --all --decorate

--graph 选项可以更直观地查看分支合并关系。

9. 标签(Tag)

创建标签
bash 复制代码
git tag v1.0
推送标签
bash 复制代码
git push origin v1.0
git push origin --tags   # 推送所有标签
删除标签
bash 复制代码
git tag -d v1.0
git push origin :refs/tags/v1.0

10. stash 临时保存

保存当前更改
bash 复制代码
git stash
查看 stash 列表
bash 复制代码
git stash list
恢复最近一次 stash
bash 复制代码
git stash pop

11. 常见问题与注意事项

  • 切换分支前请提交或保存当前更改,否则可能导致冲突或丢失。
  • 多人协作时,推送前务必先拉取远程最新代码,解决冲突后再推送。
  • 不要在公共分支(如 master/main)上直接开发,建议新建 feature 分支开发后合并。
  • rebase 只建议在自己的分支上用,合并到主分支前请用 merge。
  • reset、rebase、push -f 等会重写历史,操作前请三思。
  • 删除分支、回退历史等危险操作前请做好备份。

12. 其他实用命令

查看某个文件的历史
bash 复制代码
git log 文件名
查看某次提交的内容
bash 复制代码
git show commit_id
比较差异
bash 复制代码
git diff                # 工作区与暂存区差异
git diff --cached       # 暂存区与上次提交差异
git diff 分支A..分支B   # 两分支差异
修改最后一次提交说明
bash 复制代码
git commit --amend
相关推荐
Georgeviewer42 分钟前
商业落地评测|实体门店GEO优化性价比与服务体系深度复盘
大数据·人工智能
腻害兔2 小时前
【若依项目-产品经理视角】深度拆解 RuoYi-Vue-Pro 商城模块:从商品管理到交易引擎,50 张表撑起一整套电商系统
java·大数据·vue.js·产品经理·ai编程
zzqssliu2 小时前
煤炉自动代拍系统的队列设计与超时控制机制
git·github
GIR1232 小时前
官方出品 | 多通道土壤呼吸测量系统市场现状与十五五规划深度报告:行业分析+趋势预测全收录
大数据·人工智能·机器学习
一支绝命钩3 小时前
FPGA工程Git常用操作手册
git
南讯股份Nascent4 小时前
洽洽全域会员项目启动会圆满召开
大数据·人工智能
大郭鹏宇4 小时前
基于 LangGraph 构建智能分诊系统(一):项目概述与环境搭建
大数据·人工智能·microsoft·langchain
不搞学术柒柒7 小时前
Git新功能完整开发提交流程
git
天天爱吃肉82188 小时前
【电源拆解:跟着问答逐一认识开关适配器PCB元器件】
大数据·人工智能·python·功能测试·嵌入式硬件·汽车
Elastic 中国社区官方博客8 小时前
将你的 Grafana Kubernetes 仪表板迁移到 Elastic Observability:相同的 PromQL,30 倍更快的查询
大数据·人工智能·elasticsearch·搜索引擎·容器·kubernetes·grafana