Git查看远程分支

Git查看远程分支

引言

团队协作时,远程仓库可能已经开了新分支或删了旧分支,本地缓存的远程引用不会自动更新。先fetch同步远端信息,再用-r参数列出远程分支,避免基于过期列表误操作。

列出所有远程分支

git branch -r

列出remote-tracking分支,origin/前缀代表远端,注意这是本地缓存的远端快照。

先同步再查看

git fetch origin
git branch -r

fetch拉取最新远端引用后再列,才能看到别人刚推上来的新分支。

本地加-r看全部

git branch -a

-a同时列本地分支和远程跟踪分支,方便对比两边差异。

查看远程分支最新提交

git log origin/main --oneline -5

不切分支也能看远程分支最近几条提交历史。

查看远程仓库地址

git remote -v

列出fetch和push两个地址,确认连接的是正确远端。

清理已删除的远程分支缓存

git fetch --prune origin

远端已删的分支,本地列表里还留着,prune清掉过期引用。

按关键词筛选

git branch -r | grep feature

分支多时用grep过滤feature、release等前缀。

注意事项

  • git branch -r看的是本地缓存,先fetch再看才准;
  • 远程分支不能直接checkout修改,要建本地跟踪分支;
  • origin/main是跟踪引用,不是独立可写分支;
  • prune清理远端已删分支的本地残留;
  • 切远程分支用git checkout -b 本地名 origin/远程名;
  • 多远端要指定remote名,默认origin。

总结

git branch -r列出本地缓存的远程跟踪分支,先git fetch同步最新,-a同时看本地远程,log看远程分支提交,remote -v看仓库地址,fetch --prune清理过期引用,grep筛选前缀。核心是列表是缓存快照,操作前先fetch,远程分支只读,改动需建本地跟踪分支再推送。


emer 发布于  2026-10-20 07:17 

Git查看本地分支

Git查看本地分支

引言

多人协作久了本地会攒下一堆分支,切分支前先看清当前在哪个分支、有哪些本地分支、哪些已合并。git branch是基础命令,配合不同参数能看本地、远程、合并状态。

列出本地分支

git branch

列出所有本地分支,当前分支前面带*号高亮,一眼定位自己在哪条线上。

看当前所在分支

git branch --show-current

只输出当前分支名,写脚本时取这个最干净,不用从整行结果里截取。

列出远程分支

git branch -r

只列远程跟踪分支;想看本地加远程全部用-a。

查看最后一次提交

git branch -v

每个分支后面跟最近一次提交的短hash和说明,判断分支是否还在推进。

看已合并到当前分支的分支

git branch --merged
git branch --no-merged

merged列出已并入当前线、可安全删除的分支;no-merged是还没并入、删之前要小心的。

查分支对应提交

git branch -vv

额外显示本地分支跟踪的远程分支和 ahead/behind 数量,看本地是否落后远程。

注意事项

  • git branch只看本地,远程分支要先fetch刷新;
  • 带*的是当前分支,别在错误分支上提交;
  • --merged里的分支可放心删,no-merged删前确认有无保留价值;
  • 删除已合并分支用git branch -d,未合并强删用-D;
  • 分支命名按feature/修复类型规范,方便批量清理;
  • 定期删过期本地分支,避免列表臃肿。

总结

git branch列本地并标当前分支,--show-current只取当前名,-r看远程,-v看各分支最新提交,--merged和--no-merged判断可否安全删除,-vv看跟踪关系和领先落后。切分支前先确认当前线,远程信息先fetch,已合并分支用-d安全删,未合并慎删,定期清理过期本地分支保持仓库清爽。


emer 发布于  2026-10-20 07:09 

Git查看提交历史

Git查看提交历史

引言

排查线上问题要追溯某行代码是谁、什么时候改的,就靠git log。学会用筛选和格式化参数,能快速定位某次提交,而不是在整屏历史里翻找。

基础查看

git log

默认从新到旧列出提交哈希、作者、时间、说明,按q退出。

一行精简显示

git log --oneline

每个提交压缩成一行短哈希加标题,浏览全貌最常用。

按作者和时间筛选

git log --author="张三"
git log --since="2026-10-01" --until="2026-10-10"
git log --grep="修复登录"

分别按作者、时间段、提交说明关键词过滤。

查看文件改动历史

git log --oneline -- index.php

只看某个文件的提交记录,追溯单个文件演变。

显示每次改动内容

git log -p
git log --stat

-p展开具体diff,--stat只看增删文件和行数概览。

图形化分支历史

git log --oneline --graph --all

用线条画出分支合并拓扑,理清多分支走向。

注意事项

  • --oneline配合--graph看分支最直观;
  • grep匹配提交说明,搜代码内容用git log -S或git blame;
  • 限制数量git log -n 10只看最近10条;
  • 已推送的公开历史不要用rebase改写;
  • 配合git show 哈希看单次提交详情。

总结

git log是追溯代码的主入口,--oneline精简、--author和--grep筛选、--graph看分支、-p看diff。排查问题时先按作者或关键词缩小范围,再用git show定位单次提交,比整屏翻找高效得多。


emer 发布于  2026-10-19 07:26 

Git撤销提交操作

Git撤销提交操作

引言

提交错了、提交了不该上传的文件、commit message写错,都是日常开发常见情况。Git提供多种撤销方式,关键是分清:还没push的本地提交和已经推到远程的提交,处理方式完全不同。

场景一:改错还没add

工作区改动想放弃:

git checkout -- 文件名      #旧写法
git restore 文件名          #新写法

整个工作区全部还原:git restore .

场景二:add了但没commit

把文件撤出暂存区,保留改动:

git reset HEAD 文件名
git restore --staged 文件名

场景三:commit了但没push

改最后一次提交信息:

git commit --amend -m "新的提交说明"

撤销最近一次提交,改动留在工作区:

git reset --soft HEAD^    #撤销提交,代码保留在暂存区
git reset --mixed HEAD^   #默认,撤销提交,代码退回工作区
git reset --hard HEAD^    #撤销提交并丢弃改动,慎用

场景四:已经push到远程

本地reset后强推会改写历史,团队共用分支风险大,推荐用反向提交:

git revert 提交ID

revert会生成一个新提交,把那次改动反向抵消,不改写历史,安全协作。

注意事项

  • --hard会丢代码,操作前先备份或开分支;
  • 已push到共享分支不要随意reset强推;
  • amend只用于未推送的本地提交;
  • 查看历史用git log --oneline定位提交ID。

总结

未add用restore,add未commit用reset HEAD撤出,本地commit用reset(soft/mixed保留代码,hard丢弃),已push用revert新增反向提交。记住本地和远程的区别,避免改写团队历史。


emer 发布于  2026-10-18 07:29 

Git分支管理实践

Git分支管理实践

引言

多人协作开发如果所有人直接往master主分支提交,代码很容易混乱、出现问题无法回滚。一套清晰的分支命名和合并规则,是团队开发协作的基础。

常见分支模型

  • master/main:稳定生产分支,只接受合并,不直接开发;
  • develop:日常集成开发分支;
  • feature/xxx:单个功能开发分支,从develop拉出;
  • hotfix/xxx:线上紧急bug修复分支,从master拉出;
  • release/x.x:版本发布前测试分支。

常用命令

# 新建并切换功能分支
git checkout -b feature/login

# 提交代码
git add .
git commit -m "新增登录接口"

# 推送到远程
git push origin feature/login

开发流程

  1. 从develop拉取新功能分支;
  2. 本地开发提交,定期同步develop最新代码;
  3. 测试通过后发起合并请求(MR/PR);
  4. 代码评审通过合并到develop;
  5. 上线前拉出release分支测试,最终合并master打tag。

注意事项

  • 功能分支命名要语义化,带上开发人或需求编号;
  • 每次提交信息写清楚改了什么;
  • 不要在长期分支堆积大量提交,频繁同步主干避免冲突;
  • hotfix修复完成后要同步回develop,防止下次版本再次出现bug。

总结

Git分支模型不追求复杂,适合团队规模即可。核心原则:主干保持稳定,功能独立分支,小步提交,评审合并,线上问题走hotfix单独修复。


emer 发布于  2026-10-18 07:18 

Git alias别名设置常见问题汇总(完整版)

如果你正在学习Git,那么alias别名设置几乎是绕不开的一个环节。本文从原理到实践,带你快速上手。


emer 发布于  2026-10-14 07:10 

Git reflog恢复误操作案例讲解(新手必看)

如果你正在学习Git,那么reflog恢复误操作几乎是绕不开的一个环节。本文从原理到实践,带你快速上手。


emer 发布于  2026-10-14 07:10 

Git cherry-pick挑选提交核心用法解析(附代码示例)

熟练掌握cherry-pick挑选提交,是写好Git代码的基本功。本文循序渐进,从概念到示例一次讲透。


emer 发布于  2026-10-14 07:08 

Git 配置提交模板完整指南(附代码示例)

很多线上 Bug 的根源,都在于对配置提交模板的理解不够深入。本文从常见错误出发,反推正确的使用姿势。


emer 发布于  2026-10-14 07:05 

Git 清空仓库提交历史进阶技巧分享(2026最新整理)

同样是清空仓库提交历史,不同的实现方式在性能和可维护性上差别很大。本文对比几种常见写法,并给出推荐方案。


emer 发布于  2026-10-14 07:03 

Git fork工作流常见问题汇总(附代码示例)

熟练掌握fork工作流,是写好Git代码的基本功。本文循序渐进,从概念到示例一次讲透。


emer 发布于  2026-10-14 07:03 

Git 配置用户名和邮箱完整指南(附代码示例)

做Git开发这几年,配置用户名和邮箱是被身边同事问得最多的问题之一。今天把答案整理出来,供大家参考。


emer 发布于  2026-10-13 07:19 

Git reflog恢复误操作核心用法解析(2026最新整理)

Git的生态非常丰富,但reflog恢复误操作依然是最常用的功能点之一。本文整理了最实用的几种实现方式。


emer 发布于  2026-10-13 07:17 

Git 关联远程仓库避坑指南(2026最新整理)

Git的生态非常丰富,但关联远程仓库依然是最常用的功能点之一。本文整理了最实用的几种实现方式。


emer 发布于  2026-10-13 07:14 

Git fork工作流实战详解(完整版)

同样是fork工作流,不同的实现方式在性能和可维护性上差别很大。本文对比几种常见写法,并给出推荐方案。


emer 发布于  2026-10-13 07:14 

Git 关联远程仓库案例讲解(附代码示例)

最近在项目里又遇到了关联远程仓库的典型问题,索性把解决方法整理成这篇文章,希望能帮到遇到同样问题的同学。


emer 发布于  2026-10-12 07:10 

Git 清空仓库提交历史进阶技巧分享(附代码示例)

熟练掌握清空仓库提交历史,是写好Git代码的基本功。本文循序渐进,从概念到示例一次讲透。


emer 发布于  2026-10-12 07:09 

Git 打标签tag常见问题汇总(完整版)

熟练掌握打标签tag,是写好Git代码的基本功。本文循序渐进,从概念到示例一次讲透。


emer 发布于  2026-10-12 07:06 

Git 查看stash列表常见问题汇总(建议收藏)

如果你正在学习Git,那么查看stash列表几乎是绕不开的一个环节。本文从原理到实践,带你快速上手。


emer 发布于  2026-10-12 07:06 

Git 初始化本地仓库案例讲解(完整版)

很多初学者在学习Git时,都会遇到初始化本地仓库相关的问题。网上的资料零散且质量参差不齐,本文尝试用一篇文章把初始化本地仓库讲清楚。


emer 发布于  2026-10-12 07:03