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,远程分支只读,改动需建本地跟踪分支再推送。
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安全删,未合并慎删,定期清理过期本地分支保持仓库清爽。
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定位单次提交,比整屏翻找高效得多。
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新增反向提交。记住本地和远程的区别,避免改写团队历史。
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
开发流程
- 从develop拉取新功能分支;
- 本地开发提交,定期同步develop最新代码;
- 测试通过后发起合并请求(MR/PR);
- 代码评审通过合并到develop;
- 上线前拉出release分支测试,最终合并master打tag。
注意事项
- 功能分支命名要语义化,带上开发人或需求编号;
- 每次提交信息写清楚改了什么;
- 不要在长期分支堆积大量提交,频繁同步主干避免冲突;
- hotfix修复完成后要同步回develop,防止下次版本再次出现bug。
总结
Git分支模型不追求复杂,适合团队规模即可。核心原则:主干保持稳定,功能独立分支,小步提交,评审合并,线上问题走hotfix单独修复。
Git 常用命令大全
Git 常用命令大全
Git 是开发必备工具,常用命令一定要熟练。
1. 初始化仓库
新建仓库:
git init
克隆远程仓库:
git clone https://github.com/user/repo.git
克隆指定分支:
git clone -b dev https://github.com/user/repo.git
2. 查看状态
查看状态:
git status
查看提交历史:
git log
简洁历史:
git log --oneline --graph
查看文件修改:
git diff
3. 提交代码
添加所有修改:
git add .
添加指定文件:
git add index.php
提交:
git commit -m "修复bug"
添加并提交:
git commit -am "修复bug"
4. 远程操作
查看远程仓库:
git remote -v
拉取远程更新:
git pull
推送代码:
git push
推送并设置上游分支:
git push -u origin dev
5. 分支操作
查看本地分支:
git branch
查看所有分支:
git branch -a
创建分支:
git branch dev
切换分支:
git checkout dev
创建并切换:
git checkout -b dev
合并分支:
# 先切换到master
git checkout master
# 合并dev分支
git merge dev
删除分支:
git branch -d dev
强制删除:
git branch -D dev
6. 撤销操作
撤销工作区修改:
git checkout -- index.php
撤销暂存区:
git reset HEAD index.php
回退到上个版本:
git reset --hard HEAD^
回退到指定版本:
git reset --hard commit_id
7. 标签操作
打标签:
git tag v1.0.0
查看标签:
git tag
推送标签:
git push origin v1.0.0
推送所有标签:
git push origin --tags
8. 暂存操作
暂存当前修改:
git stash
查看暂存列表:
git stash list
恢复暂存:
git stash pop
删除暂存:
git stash drop
9. 其他常用
配置用户名:
git config --global user.name "张三"
配置邮箱:
git config --global user.email "zhangsan@example.com"
查看配置:
git config --list
查看当前分支:
git branch --show-current
10. 常用工作流
开发新功能:
# 拉最新代码
git pull
# 创建功能分支
git checkout -b feature/user
# 开发完提交
git add .
git commit -m "添加用户功能"
# 推送
git push -u origin feature/user
总结
Git 常用命令要点:
- git init 初始化仓库
- git clone 克隆仓库
- git status 看状态
- git add 添加修改
- git commit 提交
- git push 推送
- git pull 拉取
- git branch 分支操作
- git checkout 切换分支
- git merge 合并分支
- git reset 回退
- git stash 暂存
Git 熟练了,团队协作效率提升很多。
Git 常用命令大全
Git 常用命令大全
Git 是开发必备工具,这些常用命令一定要会。
1. 初始化和克隆
# 初始化仓库
git init
# 克隆远程仓库
git clone https://github.com/user/repo.git
2. 提交代码
# 查看状态
git status
# 添加所有文件到暂存区
git add .
# 添加指定文件
git add index.html
# 提交到本地仓库
git commit -m "提交说明"
# 提交并添加所有修改
git commit -am "提交说明"
3. 远程操作
# 推送到远程分支
git push origin master
# 拉取远程更新
git pull origin master
# 查看远程仓库
git remote -v
4. 分支操作
# 查看所有分支
git branch
# 创建新分支
git branch dev
# 切换分支
git checkout dev
# 创建并切换分支
git checkout -b dev
# 合并分支
git merge dev
# 删除分支
git branch -d dev
5. 版本回退
# 查看提交历史
git log
# 查看简化日志
git log --oneline
# 回退到上一个版本
git reset --hard HEAD^
# 回退到指定版本
git reset --hard 版本号
# 查看操作记录
git reflog
6. 撤销操作
# 撤销工作区修改
git checkout -- 文件
# 撤销暂存区
git reset HEAD 文件
# 删除文件
git rm 文件
7. 常用技巧
1)查看差异:
git diff
2)暂存修改:
# 临时保存
git stash
# 恢复暂存
git stash pop
3)打标签:
git tag v1.0
git push origin v1.0
8. 配置用户信息
# 全局配置
git config --global user.name "用户名"
git config --global user.email "邮箱"
总结
Git 常用命令要点:
- add 添加文件
- commit 提交代码
- push 推送到远程
- pull 拉取更新
- branch 分支管理
- log 查看历史
- reset 版本回退
做开发,Git 一定要熟练用。
Git 常用命令大全
Git 常用命令大全
Git 是开发必备工具,整理一份常用命令清单,记不住随时翻。
1. 初始化仓库
# 初始化 Git 仓库
git init
# 克隆远程仓库
git clone https://github.com/username/repo.git
2. 查看状态
# 查看文件状态
git status
# 查看提交历史
git log
# 查看简洁日志
git log --oneline --graph
3. 提交代码
# 添加所有文件到暂存区
git add .
# 添加指定文件
git add index.php
# 提交
git commit -m "修复登录bug"
# 提交并添加所有修改
git commit -am "修复登录bug"
4. 分支操作
# 查看本地分支
git branch
# 创建分支
git branch dev
# 切换分支
git checkout dev
# 创建并切换分支
git checkout -b dev
# 删除分支
git branch -d dev
5. 远程操作
# 查看远程仓库
git remote -v
# 拉取远程代码
git pull origin master
# 推送代码
git push origin master
# 推送新分支
git push origin dev
6. 撤销操作
# 撤销工作区修改
git checkout -- index.php
# 撤销暂存区
git reset HEAD index.php
# 回退到上一个版本
git reset --hard HEAD^
# 回退到指定版本
git reset --hard commit_id
7. 合并与变基
# 合并分支
git merge dev
# 变基
git rebase master
8. 常用场景
提交代码流程:
git add .
git commit -m "提交说明"
git push origin master
新建功能分支:
git checkout -b feature/login
# 开发...
git add .
git commit -m "开发登录功能"
git checkout master
git merge feature/login
git push origin master
总结
Git 常用命令就这几类:
- 状态: status / log
- 提交: add / commit
- 分支: branch / checkout
- 远程: pull / push
- 撤销: reset / checkout
日常开发把这些用熟就够了。
Git 常用命令汇总
Git 常用命令汇总
Git 是现在开发必备工具,整理一份常用命令清单,收藏备用。
1. 初始化和克隆
# 初始化新仓库
git init
# 克隆远程仓库
git clone https://github.com/user/repo.git
# 克隆指定分支
git clone -b dev https://github.com/user/repo.git
2. 查看状态
# 查看工作区状态
git status
# 查看提交历史
git log
# 查看简洁历史
git log --oneline --graph
# 查看文件改动
git diff
3. 添加和提交
# 添加所有文件到暂存区
git add .
# 添加指定文件
git add file.php
# 提交到本地仓库
git commit -m "修复bug"
# 提交并跳过验证
git commit --no-verify -m "修复bug"
4. 分支操作
# 查看本地分支
git branch
# 查看所有分支(包括远程)
git branch -a
# 创建新分支
git branch dev
# 切换分支
git checkout dev
# 创建并切换分支
git checkout -b dev
# 删除分支
git branch -d dev
# 强制删除分支
git branch -D dev
5. 远程操作
# 拉取远程更新
git pull
# 推送本地提交
git push
# 推送本地新分支到远程
git push -u origin dev
# 删除远程分支
git push origin --delete dev
6. 撤销操作
# 撤销工作区修改
git checkout -- file.php
# 撤销暂存区
git reset HEAD file.php
# 回退到上一个版本
git reset --hard HEAD^
# 回退到指定版本
git reset --hard commit_id
# 撤销上次提交(保留修改)
git reset --soft HEAD^
7. 合并和变基
# 合并分支
git merge dev
# 变基
git rebase master
# 取消合并
git merge --abort
8. 标签操作
# 打标签
git tag v1.0.0
# 查看标签
git tag
# 推送标签
git push origin v1.0.0
# 推送所有标签
git push origin --tags
总结
Git 常用命令核心:
- 查看:status / log / diff
- 提交:add / commit
- 分支:branch / checkout / merge
- 远程:pull / push
- 撤销:reset / checkout
记住这些,日常 Git 操作基本够用了。
Git 常用命令汇总
Git 常用命令速查
Git 是开发必备工具,掌握常用命令就行,不用背太多。
1. 初始化与克隆
# 初始化仓库
git init
# 克隆远程仓库
git clone https://github.com/user/repo.git
2. 提交相关
# 查看状态
git status
# 添加到暂存区
git add .
git add file.php
# 提交
git commit -m "提交说明"
# 查看提交历史
git log --oneline
3. 分支操作
# 查看分支
git branch
# 创建分支
git branch feature
# 切换分支
git checkout feature
# 创建并切换
git checkout -b feature
# 合并分支
git merge feature
# 删除分支
git branch -d feature
4. 远程操作
# 拉取远程更新
git pull
# 推送本地提交
git push origin main
# 查看远程仓库
git remote -v
5. 撤销操作
# 撤销工作区修改
git checkout -- file.php
# 撤销暂存区
git reset HEAD file.php
# 回退到上个版本
git reset --hard HEAD~1
6. 暂存操作
# 暂存当前修改
git stash
# 恢复暂存
git stash pop
7. 标签
# 打标签
git tag v1.0.0
# 推送标签
git push origin v1.0.0
总结
日常开发就这几个命令:add、commit、push、pull、branch、merge。其他的用到再查就行,不用全背。
Git 工作流:团队协作的最佳实践指南
前言
Git 是每个程序员都必须掌握的工具,但很多团队用着用着就乱了:分支满天飞、提交记录看不懂、合并冲突天天有。本文介绍一套简单实用的 Git 工作流,让团队协作井井有条。
一、分支模型
推荐使用简化版的 Git Flow,核心分支只有两个:
- main / master:主分支,永远是可发布状态
- develop:开发分支,日常开发都在这上面
临时分支:
- feature/xxx:功能分支,从 develop 拉出来
- bugfix/xxx:修复分支,从 develop 拉出来
- release/xxx:发布分支,从 develop 拉出来准备上线
- hotfix/xxx:紧急修复分支,从 main 拉出来修线上 bug
二、日常开发流程
1. 拉最新代码
git checkout develop
git pull origin develop
2. 创建功能分支
git checkout -b feature/user-login
3. 开发并提交
# 写代码...
# 添加文件
git add .
# 提交(commit message 要清晰)
git commit -m "feat: 添加用户登录页面"
commit message 规范:
feat:新功能fix:修复 bugdocs:文档修改style:代码格式调整refactor:重构chore:构建流程或工具变动
4. 推送到远程
git push origin feature/user-login
5. 发起 Pull Request / Merge Request
在 Git 平台(GitHub/GitLab/Gitee)上发起 PR,把 feature 分支合并到 develop 分支。
6. 代码评审
同事 review 代码,提出修改意见,修改后再合并。
7. 合并后删除分支
git checkout develop
git pull origin develop
git branch -d feature/user-login
git push origin --delete feature/user-login
三、发布流程
1. 从 develop 拉发布分支
git checkout -b release/1.2.0
2. 修复小问题,准备发布
在发布分支上只做 bug 修复,不加新功能。
3. 合并到 main,打 tag
git checkout main
git merge release/1.2.0
git tag -a v1.2.0 -m "版本 1.2.0"
git push origin main --tags
4. 合并回 develop
git checkout develop
git merge release/1.2.0
git push origin develop
四、线上紧急修复
1. 从 main 拉 hotfix 分支
git checkout main
git pull origin main
git checkout -b hotfix/login-bug
2. 修复 bug,合并回 main 和 develop
# 修复...
git checkout main
git merge hotfix/login-bug
git tag -a v1.2.1 -m "修复登录 bug"
git push origin main --tags
# 合并回 develop
git checkout develop
git merge hotfix/login-bug
git push origin develop
五、实用技巧
1. 撤销提交
# 撤销最近一次提交,保留代码改动
git reset --soft HEAD~1
# 撤销最近一次提交,丢弃代码改动(慎用)
git reset --hard HEAD~1
2. 暂存当前工作
# 临时保存当前工作
git stash
# 恢复
git stash pop
3. 查看历史
# 简洁的图形化提交历史
git log --oneline --graph --all
4. 变基保持提交干净
# 把 feature 分支的提交变基到最新的 develop 上
git checkout feature/user-login
git rebase develop
六、常见坑
- 不要在 main 上直接开发:所有改动都要通过 PR 合并
- commit 不要太大:一个功能一个 commit,方便回滚
- 不要 force push 到公共分支:会搞乱别人的代码
- 定期同步 develop:每天至少 pull 一次最新代码
总结
Git 工作流的核心思路:
- main 永远可发布,develop 是集成分支
- 功能分支从 develop 拉,修完合并回 develop
- 发布时从 develop 拉 release,合并到 main 打 tag
- 线上 bug 从 main 拉 hotfix,修完合并回 main 和 develop
这套流程简单实用,小团队用起来刚刚好。