首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Git 常用命令笔记

Git 常用命令笔记

作者头像
小田测测看
发布2026-06-17 16:58:51
发布2026-06-17 16:58:51
890
举报

一、基础配置(首次使用必做)

代码语言:javascript
复制
# 设置全局用户签名(区分开发者身份,与远程平台账号无关)
git config --global user.name "YourName"  
git config --global user.email "your@email.com"  

# 查看配置(验证是否生效)
git config --list  

二、本地仓库操作

1. 初始化与状态
代码语言:javascript
复制
# 初始化新仓库(生成.git目录,开始版本管理)
git init  

# 查看工作区/暂存区状态(红色=未暂存,绿色=已暂存)
git status  
2. 暂存区(Staging Area)
代码语言:javascript
复制
# 添加文件到暂存区  
git add 文件名.txt       # 单个文件  
git add .               # 当前目录所有文件(含子目录)  
git add -p              # 交互式添加(分次提交同一文件的多处修改)  

# 撤销暂存(将文件从暂存区撤回到工作区)
git reset HEAD 文件名  
3. 提交到本地库
代码语言:javascript
复制
# 提交暂存区到本地库,附带日志
git commit -m "提交说明:修复登录Bug"  

# 跳过暂存区,直接提交已追踪文件的修改
git commit -a -m "说明:更新文档"  

# 修改最近一次提交(改写信息或补充文件)
git commit --amend -m "新说明:补充测试用例"  
4. 文件删除与改名
代码语言:javascript
复制
# 从暂存区和工作区删除文件(同步版本库)
git rm 文件名.txt  

# 仅停止追踪文件(文件保留在工作区)
git rm --cached 冗余文件.txt  

# 改名并同步暂存区
git mv 旧名.txt 新名.txt  

三、版本回退与历史查看

1. 查看提交历史
代码语言:javascript
复制
# 完整历史(版本号、作者、时间、说明)
git log  

# 简洁历史(含回退记录,用于找回误删版本)
git reflog  

# 查看文件的逐行修改
git log -p 文件名.txt  

# 按作者/关键词过滤历史
git log --author="Alice" --grep="修复"  
2. 版本回退
代码语言:javascript
复制
# 彻底回退(工作区、暂存区、本地库全重置)
git reset --hard 版本号(如 git reset --hard HEAD^ 回退到上一版本)  

# 仅移动HEAD,保留暂存区和工作区
git reset --soft 版本号  

# 撤销工作区修改(未暂存时,恢复为上次提交状态)
git checkout -- 文件名.txt  

四、分支管理

1. 分支操作
代码语言:javascript
复制
# 查看分支(*标记当前分支)
git branch          # 本地分支  
git branch -r       # 远程分支  
git branch -a       # 所有分支(本地+远程)  

# 创建并切换分支(推荐用switch,更直观)
git switch -c 新分支名  # 等价于 git checkout -b 新分支名  

# 切换分支
git switch 分支名  

# 删除分支(-d安全删除,需合并后;-D强制删除)
git branch -d 旧分支名  
git branch -D 废弃分支名  
2. 合并与冲突解决
代码语言:javascript
复制
# 合并目标分支到当前分支(如main合并dev)
git merge 目标分支名  

# 非Fast-forward合并(生成合并提交,保留分支历史)
git merge --no-ff 目标分支名  

# 解决冲突步骤:
1. 编辑冲突文件(标记 <<<<<<<、=======、>>>>>>> 部分)  
2. git add 冲突文件(标记解决)  
3. git commit(完成合并)  

五、远程仓库协作

1. 关联与同步
代码语言:javascript
复制
# 添加远程仓库(别名通常为origin)
git remote add origin https://github.com/用户名/仓库名.git  

# 拉取远程更新(不自动合并,需手动git merge)
git fetch origin  

# 拉取并合并(等价于 fetch + merge)
git pull origin 分支名  

# 推送本地分支到远程
git push origin 本地分支名:远程分支名  
2. 克隆仓库
代码语言:javascript
复制
# 从远程克隆(自动初始化+关联远程,默认分支为main)
git clone https://github.com/用户名/仓库名.git  

六、高级技巧(提效必备)

1. 储存(Stash):临时保存未提交的修改
代码语言:javascript
复制
# 贮藏修改(推荐用push,替代旧save)
git stash push -m "临时修改:调试功能"  

# 查看贮藏列表
git stash list  

# 恢复并删除贮藏
git stash pop  

# 恢复但保留贮藏
git stash apply  
2. 挑选提交(Cherry-pick):复制其他分支的提交
代码语言:javascript
复制
# 复制单个提交(生成新提交)
git cherry-pick 提交ID  

# 复制多个提交(A^表示A的父提交,含A到B)
git cherry-pick A^..B  
3. 变基(Rebase):整理分支历史
代码语言:javascript
复制
# 将目标分支的提交合并到当前分支(使历史更线性)
git rebase 目标分支名  

# 解决冲突后继续变基
git rebase --continue  

# 放弃变基
git rebase --abort  

七、标签管理(版本标记)

代码语言:javascript
复制
# 打标签(默认在当前提交,也可指定历史提交)
git tag v1.0          # 当前提交  
git tag v0.9 提交ID   # 历史提交  

# 推送标签到远程
git push origin v1.0  # 单个标签  
git push origin --tags # 所有标签  

# 删除标签
git tag -d v1.0       # 本地删除  
git push origin :refs/tags/v1.0 # 远程删除 

备注:

  • • 记不住命令时,用 git help 命令 查官方文档(如 git help commit)。
  • • 复杂操作前,先 git status 确认状态,避免误操作

最后放一张工作流程动图

#Git #Git常用操作

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-06-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 编程拾光 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、基础配置(首次使用必做)
  • 二、本地仓库操作
    • 1. 初始化与状态
    • 2. 暂存区(Staging Area)
    • 3. 提交到本地库
    • 4. 文件删除与改名
  • 三、版本回退与历史查看
    • 1. 查看提交历史
    • 2. 版本回退
  • 四、分支管理
    • 1. 分支操作
    • 2. 合并与冲突解决
  • 五、远程仓库协作
    • 1. 关联与同步
    • 2. 克隆仓库
  • 六、高级技巧(提效必备)
    • 1. 储存(Stash):临时保存未提交的修改
    • 2. 挑选提交(Cherry-pick):复制其他分支的提交
    • 3. 变基(Rebase):整理分支历史
  • 七、标签管理(版本标记)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档