Gitlet
2016-05-03 10:26:47 0 举报
Gitlet是一个用Java编写的简单版本控制系统,旨在演示和教授Git的基本概念。它由Alice和Bob开发,用于管理他们的源代码。Gitlet包括三个主要组件:工作区、暂存区和仓库。工作区是用户正在处理的文件,暂存区是已修改但尚未提交的文件,仓库是存储所有提交历史的地方。Gitlet支持创建分支、合并分支、添加和删除文件等功能。它还提供了一些基本的实用程序,如`status`(显示工作区和暂存区的状态)、`add`(将文件添加到暂存区)和`commit`(将暂存区的更改提交到仓库)。尽管功能有限,但Gitlet是一个很好的入门工具,可以帮助初学者理解Git的工作原理。
作者其他创作
大纲/内容
GitletModel
gitletObservers: ArrayListaddSet: HashSetGitletPath: StringcurCommitedId: intlastCommited: intcommitMessage: StringcommitDate: String
+ init():void+ add(): HashSet+ commit(): void + log(): String+ status(): void+ checkout(branchName: String): void+ branch(): void+ rmBranch(branchName: String): void+ reset(commitId: int): void+ rebase(branchName: String): void+ merge(branchName: String): void + registerObserver(o: GitletObserver): void+ removeObserver(o: GitletObserver): void+ gitletEvent(): void+ getCommitDate(): String+ getCommitMessage(): String+ setCommitMessage(commitMessage: String): void+ getCurCommitedId(): int+ setCurCommitedId(curCommitedId: int): void
GitletController
- gitletModel: GitletModelInterface- gitletView: GitletView
+ initialize(): void+ addFile(fileName: String): void+ commitFile(): void+ logData(): void+ statusData(): void+ checkoutBranch(branchName: String): String+ createBranch(): void+ rmBranch(branchName: String): void+ reset(commitId: int): void+ merge(branchName: String): void+ rebase(branchName: String): void
GitletModelInterface
init()add(fileName: String)commit()log()status()checkout(branchName: String)branch()rmBranch(branchName: String)reset(commitId: int)merge(branchName: String)rebase(branchName: String)registerObserver()removeObserver()getCommitDate()getCommitMessage()setCommitMessage(commitMessage: String)getCurCommitedId()setCurCommitedId(curCommitedId: int)
GitletObserver
updateStatus()
GitletControllerlInterface
initialize()addFile(fileName: String)commitFile()logData()statusData()checkoutBranch(branchName: String)createBranch()rmBranch(branchName: String)reset(commitId: int)merge(branchName: String)rebase(branchName: String)
GitletView
frame: JFrameleftPanel: JPanelrightPanel: JPanelinitBtn: JButtonaddBtn: JButtoncommitBtn: JButtonlogBtn: JButtonJTextArea: textscroller: JScrollPanegitletController: GitletControllerInterfacegitletModel: GitletModelInterface
+ createView(): void+ actionPerformed(): void + updateStatus(): void
0 条评论
下一页
为你推荐
查看更多