# githelper **Repository Path**: TMomster/githelper ## Basic Information - **Project Name**: githelper - **Description**: 这是可视化的 git 辅助操作界面,通过 maven 构建,可以在不依赖本地 git 环境的情况下完成文件添加和删除、提交更改、推送更改、获取分支信息和切换分支、版本回滚等功能。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-12-27 - **Last Updated**: 2024-12-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: Java, Git ## README # Git Helper #### 说明 Git Helper 是以 JGit 代替 git 环境实现部分操作的可视化图形辅助工具。 #### 技术栈说明 - Java SE 使用Java语言编写,利用了Java的标准库和Swing图形用户界面库。 - Swing 用于构建图形用户界面(GUI),提供了按钮、对话框、文件选择器等组件,使用户可以通过点击按钮等方式与程序交互。 - JGit JGit是一个用纯Java编写的Git实现库,用于与Git仓库进行交互。程序中使用了org.eclipse.jgit.api.*等多个JGit包来执行Git操作,如克隆、提交、推送等。 - Properties 使用Java的Properties类来读取配置文件git_config.properties,存储和读取Git仓库的相关配置信息,如本地路径、远程URL、用户名、密码等。 #### 安装说明 这是以 Maven 构建的项目,使用 IDEA 新建工程,清除工程目录的全部文件,将 githelper 的文件克隆到工程中。 将 githelper 目录下除了 .git 以外的文件提取到工程根目录下,然后删除 githelper,在 IDEA 中运行文件 src\main\java\GitGUI.java 即可。 #### 功能 - 克隆仓库(Clone Repository) 功能:从远程Git仓库克隆代码到本地指定路径。 实现:通过handleCloneRepository()方法,用户输入远程仓库URL并选择本地路径后,程序会调用JGit的cloneRepository()方法进行克隆,并可以选择检出特定分支 - 添加文件(Add File) 功能:将文件或目录添加到Git暂存区。 实现:通过handleAddFile()方法,用户选择文件或目录后,程序会检查文件是否在Git仓库范围内,并将其添加到暂存区。 - 删除文件(Remove File) 功能:从Git仓库中删除文件。 实现:通过handleRemoveFile()方法,用户可以从当前分支中选择要删除的文件,并确认后从仓库中删除。 - 提交更改(Commit Changes) 功能:将暂存区中的文件提交到Git仓库。 实现:通过handleCommitChanges()方法,用户输入提交信息后,程序会将暂存区中的文件提交到本地仓库。 - 推送更改(Push Changes) 功能:将本地分支的更改推送到远程仓库。 实现:通过handlePushChanges()方法,用户可以选择要推送的分支,并输入远程仓库的URL、用户名、密码等信息后,程序会调用JGit的push()方法进行推送。 - 版本回滚(Undo Commits) 功能:回滚到指定的历史提交。 实现:通过handleUndoCommits()方法,用户可以选择一个历史提交,程序会将当前工作区回滚到该提交的状态。 - 查看历史记录(Show Commit History) 功能:显示Git仓库的提交历史。 实现:通过handleShowCommitHistory()方法,用户可以查看仓库的所有提交记录。 - 查看状态(Show Status) 功能:显示Git仓库的当前状态,包括未跟踪文件、修改文件等。 实现:通过handleShowStatus()方法,用户可以查看仓库的状态信息。 - 新建分支(Create Branch) 功能:创建新的Git分支。 实现:通过handleCreateBranch()方法,用户可以输入新分支的名称并创建分支。 - 检查活动分支(Show Current Branch) 功能:显示当前所在的Git分支。 实现:通过handleShowCurrentBranch()方法,用户可以查看当前活动的分支名称。 - 切换分支(Switch Branch) 功能:切换到其他Git分支。 实现:通过handleSwitchBranch()方法,用户可以选择要切换的目标分支并进行切换。 #### 一些技巧说明 - git_config.properties 的使用 这个文件位于 src\main\resources 目录下,这里可以保存一个远程仓库url、用户名和密码等信息。 此文件主要用于频繁操作某个远程仓库的情况,只需要将相应的属性值填写进去,就可以在推送等功能中选择使用配置文件,程序就可以自动将 git_config.properties 中的信息填入,节省了频繁手动输入的麻烦。 如果你不希望以明文保存自己的密码,可以把 password 留空,这样每次都只有密码需要手动输入。 - 在仓库中新建分支 选择“新建分支”功能后,新生成的分支记录在本地仓库中,如果想要将分支推送到远程仓库,通过推送功能选择新建的分支然后确认即可,这将在远程仓库新建相应的分支,然后将默认分支中的文件内容复制到新的分支中。 如果你希望删除新分支中的文件,让他成为一个空的分支,请通过切换分支选项进入对应的分支,然后再删除分支下的全部文件即可。 可能存在部分功能和技巧未被及时更新到此文档中,但你可以正常使用它们。