📂
Qt
  • 【Qt Quick 编程指南】
  • 第一篇 基本应用篇
    • 第1章 Qt Creator简介
      • 1.1 注意事项说明
      • 1.2 Qt Creator 是什么
      • 1.2 IDE集成开发环境准备
      • 1.3 Qt Creator 环境介绍
      • 1.4 Qt工具简介
      • 1.5 Git的使用
    • 第2章 Qt Quick
      • 2.1 Qt Quick 是什么
      • 2.2 Qt Quick 能做什么
      • 2.3 QML支持的平台
      • 2.3 第一个Qt Quick程序
    • 第3章 Hello World
      • 2.1 编写Hello World 程序
      • 2.2 程序的运行与发布
      • 2.3 Hello World程序源码与编译过程详解
      • 2.4 项目模式和项目文件介绍
    • 第4章 窗口部件
      • 3.1 基础窗口部件QWidget
      • 3.2 对话框QDialog
      • 3.3 其他窗口部件
    • 第5章 布局管理
      • 4.1 布局管理系统
      • 4.2 设置伙伴
      • 4.3 设置Tab键顺序
      • 4.4 Qt Creator中的定位器
      • 4.5 案例-登录窗口布局
    • 第6章 应用程序主窗口
      • 5.1 主窗口框架
      • 5.2 富文本处理
      • 5.3 拖放操作
      • 5.4 打印文档
    • 第7章 事件系统
      • 6.1 Qt中的事件
      • 6.2 鼠标事件和滚轮事件
      • 6.4 定时器事件与随机数
      • 6.5 事件过滤器与事件的发送
    • 第8章 Qt对象模型与容器类
      • 7.1 对象模型
      • 7.2 容器类
      • 7.1 对象模型
      • 7.3 正则表达式
      • 7.2 容器类
      • 7.3 正则表达式
    • 第9章 界面外观
      • 8.1 Qt风格
      • 8.2 Qt样式表
      • 8.1 Qt风格
      • 8.3 特殊效果窗体
      • 8.2 Qt样式表
      • 8.3 特殊效果窗口
    • 第10章 国际化、帮助系统与Qt插件
      • 9.1 国际化
      • 9.2 帮助系统
      • 9.3 创建Qt插件
  • 第二篇 图形动画篇
    • 第11章 2D绘图
      • 10.1 基本绘制和填充
      • 10.2 坐标系统
      • 10.3 其他绘制
      • 10.4 双缓冲绘图
      • 10.5 绘图中的其他问题
    • 第12章 图形视图、动画和状态机框架
      • 11.1 图形视图、动画和状态机框架
      • 11.2 图形视图框架的坐标系统和事件
      • 11.3 图形视图框架的其他特性
      • 11.4 动画框架
      • 11.5 状态机框架
    • 第13章 3D绘图
      • 12.1 使用OpenGL绘制图形介绍
      • 12.2 绘制多边形
      • 12.3 绘制彩色3D图形
      • 12.4 使用纹理贴图
  • 第三篇 影音媒体篇
    • 第14章 音视频播放
      • 13.1 播放音频
      • 13.2 播放视频
      • 13.3 QmediaPlayer
    • 第15章 相机和音频录制
      • 14.1 使用相机
      • 14.2 使用音频
  • 第四篇 数据处理篇
    • 第16章 文件、目录和输入/输出
      • 15.1 文件和目录
      • 15.2 文本流和数据流
      • 15.3 其他相关类
    • 第17章 模型/视图编程
      • 16.1 模型/视图架构
      • 16.2 模型类
      • 16.3 视图类
      • 16.4 委托类
      • 16.5 项目视图的便捷类
      • 16.6 在项目视图中启用拖放
    • 第18章 数据库和XML
      • 17.1 数据库
      • 17.2 XML
  • 第五篇 网络通信篇
    • 第19章 网络编程
      • 18.1 网络访问接口
      • 18.2 获取网络接口信息
      • 18.3 UDP
      • 18.4 TCP
    • 第20章 进程和线程
      • 19.1 进程
      • 19.2 线程
    • 第21章 Qt WebEngine
      • 20.1 Qt WebEngine
      • 20.2 基于Qt WebEngine Widget的网页浏览器
  • ※Qt6 QML 实战手册※
    • 第一章 基础设置
      • 1.1 项目注释
      • 1.2 修改程序名字
      • 1.3 程序打包
      • 1.4 Qt Design Studio 结合 Qt Creator使用
      • 1.5 版本控制(GitHub)
    • 第二章 项目文件详解
      • 2.1 CMakeLists.txt
    • 第三章 UI设计
      • 3.1 常用控件大全
    • 第十章 多媒体 Multimedia
    • 异常集合总结
  • ※项目案例※
    • ZSLinux开发
    • DCShell开发
    • DCSft开发
    • Qt程序打包
    • BarTenderPrinter
    • 自动补卡考勤程序
    • 打卡机客户端程序
    • SQL考勤补卡脚本
    • 编译 libssh2
  • 常用知识点总结
    • 【Qt+QML+CMake 开发学习进度】
    • Qt6 开发知识点总结
    • Qt creator 快捷键
    • Qt Design Studio 控件大全
    • QT中添加图片资源文件
    • Qt Creator配合Qt Design Studio
    • 学习参考资料
由 GitBook 提供支持
在本页
  • 一、基本配置
  • 二、提交与拉取
  • 三、高级操作
  • 四、脚本制作

这有帮助吗?

  1. ※Qt6 QML 实战手册※
  2. 第一章 基础设置

1.5 版本控制(GitHub)

最新的行业趋势和社区规范,官方推荐使用 main 作为默认分支名称

一、基本配置

  1. 安装git

git config --globaluser.name "你自己的用户名"

git config --globaluser.email "你自己的邮箱"
  1. 生成秘钥

ssh-keygen -t rsa -C"你自己的邮箱" 

生成后的公匙文件在 C:Users用户名.sshid_rsa.pub,打开密匙文件并复制其中内容将该密匙添加到github (Account Settings-> SSH key-> Add SSHkey )

  1. GitHub创建仓库

  2. 确保新项目使用 main 作为默认分支

    在本地配置中将新项目的初始化默认分支设置为 main:

git config --global init.defaultBranch main

这样,git init 时会自动创建 main 作为默认分支。

  1. 安装Git,初始化本地 Git 仓库,创建一个新的 Git 仓库

git init

二、提交与拉取

  1. 添加文件到暂存区

git add .

将工作目录中的所有更改(新文件、修改文件)添加到暂存区。

  1. 提交更改到本地仓库

git commit -m "first commit"

提交暂存区中的所有文件到本地仓库,提交信息为 "first commit"。

  1. 添加远程仓库

git remote add origin git@github.com:peiyafei/HrClient.git

关联远程仓库,将本地仓库与 GitHub 仓库(HrClient)关联。

  1. 重命名本地 master 为 main (可选)

git branch -m master main

这会将本地的 master 分支重命名为 main

  1. 添加更改并提交

git add .
git commit -m "add new changes"

添加新的修改到暂存区,并提交到本地仓库。

  1. 推送到远程仓库

git push origin main
  1. 强制推送到远程仓库(谨慎使用)

git push origin main --force

三、高级操作

  1. 重置为上次拉取的状态

git reset --hard HEAD
  • HEAD 代表当前分支的最新提交(上次拉取后你已经同步的提交)。

  • 该命令会丢弃所有本地的更改(包括工作区和暂存区的修改),将文件恢复为上次提交的状态。

  1. 同步远程仓库: 如果你还想确保本地分支与远程仓库一致,可以运行:

git pull origin <branch-name>
  • 这样可以确保本地仓库与远程仓库的代码一致。

四、脚本制作

  1. git_auto_commit.sh 脚本放在 Git 仓库的根目录下,每次进入该仓库时,可以直接在 Git Bash 中运行它。

脚本内容:

#!/bin/bash

# 确保 build 文件夹被忽略
if ! grep -q "^build$" .gitignore; then
  echo "build" >> .gitignore
  echo "Added 'build' to .gitignore"
fi

# 使用固定的提交信息
commit_message="修复了一些已知问题"

移除 Git 缓存中的所有文
git rm -r --cached .

# 添加所有更改到暂存区(忽略被 .gitignore 忽略的文件)
git add .

# 提交更改
git commit -m "$commit_message"

# 推送更改到远程仓库
git push origin main

# 显示当前分支状态
git status

升级版脚本:

#!/bin/bash

# =============================================================
# 文件名:git_auto_commit.sh
# 说明:自动提交脚本
# 作者:peiyafei
# 创建日期:2025-01-03 00:27:27
# =============================================================

# 设置 Git 换行符配置
git config core.autocrlf true

# 创建 .gitattributes(如果不存在)
if [ ! -f .gitattributes ]; then
    cat > .gitattributes << EOF
* text=auto
*.sh text eol=lf
*.gitignore text eol=lf
*.cpp text eol=lf
*.h text eol=lf
*.qml text eol=lf
*.txt text eol=lf
*.md text eol=lf
EOF
    echo "Created .gitattributes file"
fi

# 检查并创建 .gitignore
if [ ! -f .gitignore ]; then
    cat > .gitignore << EOF
# Build directories
build/
debug/
release/

# IDE files
.vscode/
.idea/
*.user
*.pro.user
CMakeLists.txt.user

# Generated files
*.o
*.obj
moc_*
qrc_*
ui_*

# Temporary files
*~
*.autosave
EOF
    echo "Created .gitignore file"
elif ! grep -q "^build/$" .gitignore; then
    echo "build/" >> .gitignore
    echo "Added 'build/' to .gitignore"
fi

# 添加所有更改到暂存区
git add .

# 提交更改
git commit -m "修复了一些已知问题"

# 推送到远程仓库
git push origin main

# 显示状态
git status

echo "============================================================="
echo "Commit completed at: $(date '+%Y-%m-%d %H:%M:%S')"
echo "By user: $(git config user.name)"
echo "============================================================="
  1. 赋予脚本可执行权限

chmod +x git_auto_commit.sh
  1. 运行脚本

每次修改完代码后,在 Git Bash 中运行该脚本:

./git_auto_commit.sh
  • 输入提交信息。

  • 脚本会自动执行 git add .、git commit 和 git push 命令,将更改提交并推送到远程仓库。

上一页1.4 Qt Design Studio 结合 Qt Creator使用下一页第二章 项目文件详解

最后更新于4个月前

这有帮助吗?