当前位置: 首页 > web >正文

Git常用指令

目录

一 提交代码到远程

二.git log

三.git cherry-pick

四.git branch -vv

五.git clean -dfx

六.git clean -ndx  

七.定期同步上游分支

八.误操作后恢复,若合并或变基出错,可通过 git reflog 找回之前的状态:

九.暂存本地修改


一 提交代码到远程

步骤 1:创建新分支
git checkout -b new-feature-branch

步骤 2:更新到最新节点
a # 获取远程最新分支的更新
git fetch origin
b # 合并最新的远程分支到新分支
git merge origin/main(指定分支)

步骤 3:推送代码到远程分支
git push origin new-feature-branch:main


步骤 4:删除本地新分支(可选)
git branch -d new-feature-branch


二.git log


1.log格式化
git log --oneline --format="%h %an: %s"
%h:表示简短的提交哈希值。
%an:代表提交作者的姓名。
%s:是提交说明
1234567 John Doe: Update README file

2.搜索log
git log --oneline | grep "Update"

3.显示文件更改信息
git log -p

4.使用 -n 选项可以指定显示的提交数量,例如只显示最近的 3 次提交:
git log -n 3

5.图形化显示分支历史
git log --graph --oneline

6.按日期筛选
git log --since="2024-04-01" --until="2024-04-15"

7.按作者筛选
git log --author="John Doe"

8.根据hash值查看某一条提交
git log -p 4c937a27838

9.查看其它分支log
git log <分支名>

三.git cherry-pick


1.合并某一次提交
git log <分支名> 获取某次提交得hash值
git cherry-pick 123456789abcdef(某次提交得hash值)
可能遇到的情况及解决办法
冲突解决:如果在合并过程中出现冲突,Git 会暂停操作并提示你解决冲突。你需要手动编辑冲突文件,然后使用 git add 标记冲突已解决,最后使用 git cherry-pick --continue 继续合并操作。
放弃合并:若你想放弃这次合并操作,可以使用 git cherry-pick --abort 命令。

四.git branch -vv


git branch -vv 命令可以显示本地分支和对应的远程跟踪分支的详细信息,包括提交记录的差异。

五.git reset --soft HEAD~
HEAD~1 表示撤销最近的一次提交,若要撤销更早的提交,可调整数字,例如 HEAD~2 撤销最近的两次提交。
git reset --soft HEAD~1

五.git clean -dfx


-d 删除未被跟踪的目录(包括空目录)。若不加此参数,仅删除文件。
-f 强制删除(force
-x 删除所有未被跟踪的文件,包括被 .gitignore 忽略的文件。警告:此参数会删除 .gitignore 中指定的文件(如编译产物、临时文件)
用于彻底清理工作区,移除未被跟踪(untracked)的文件和目录

六.git clean -ndx  


 预览会被删除的文件和目录

七.定期同步上游分支


在开发 feature 分支期间,定期将 main 分支的更新合并到 feature:
git checkout feature
git merge main  

八.误操作后恢复,若合并或变基出错,可通过 git reflog 找回之前的状态:


git reflog  # 查看操作历史
git reset --hard HEAD@{n}  # 回退到第 n 个操作前的状态

九.暂存本地修改


git stash push -m "优化配置修改" frameworks/base/packages/SystemUI 暂存本地路径未提交的修改
git stash list   查看暂存列表
git stash apply stash@{1} 恢复指定暂存(如stash@{1}),但保留在栈中


 

http://www.xdnf.cn/news/15091.html

相关文章:

  • Python-文件操作
  • 如何将 AWS EBS 卷从 gp2 批量迁移到 gp3:完整指南
  • RabbitMQ 高级特性之事务
  • FPGA加速HMI实时渲染:复杂图形处理的并行计算方案
  • 【macOS】【Swift】【RTF】黑色文字在macOS深色外观下看不清的解决方法
  • 5.注册中心横向对比:Nacos vs Eureka vs Consul —— 深度解析与科学选型指南
  • 字体 Unicode 区块字符展示 PDF 生成器
  • MySQL 09 普通索引和唯一索引
  • 5N70-ASEMI电源管理领域专用5N70
  • 前端业务监控系统,异常上报业务,异常队列收集,异常捕获
  • 【Unity】MiniGame编辑器小游戏(十)连连看【Link】
  • C#基础篇(11)泛型类与泛型方法详解
  • UI前端与数字孪生结合实践探索:智慧物流的仓储优化与管理系统
  • 大数据在UI前端的应用深化:用户行为模式的挖掘与预测性分析
  • 原型与原型链到底是什么?
  • Linux驱动学习day20(pinctrl子系统驱动大全)
  • 自动驾驶决策与规划
  • 【Kafka】登录日志处理的三次阶梯式优化实践:从同步写入到Kafka多分区批处理
  • 【PDF提取内容改名】批量提取pdf多个指定区域内容到excel表格的操作步骤和方法
  • 制作MikTex本地包可用于离线安装包
  • doris2.1.8连接报错ERROR 1203 (42000): Reach limit of connections解决办法
  • 冷冻电镜重构的GPU加速破局:从Relion到CryoSPARC的并行重构算法
  • 前端UI逻辑复杂可以用什么设计模式
  • 由 DB_FILES 参数导致的 dg 服务器无法同步问题
  • CVE-2025-32463复现
  • 在overleaf中使用bibtex格式引用文献
  • 自动化测试报告优化:jenkins+jmeter定制化HTML报告生成
  • QT 第八讲 --- 控件篇 Widget(三)界面系列
  • 米思齐2.0 3.0 mixly arduino 编程软件下载安装及详情使用指南 导入库文件方法 支持8266 esp32
  • 宇树 G1 部署(一)——综述