diff --git a/app/src/main/assets/cn/git_commands.json b/app/src/main/assets/cn/git_commands.json new file mode 100644 index 00000000..79416d30 --- /dev/null +++ b/app/src/main/assets/cn/git_commands.json @@ -0,0 +1,274 @@ +{ + "gitCommands": [ + { + "name": "初始化仓库", + "command": "git init [directory]", + "description": "初始化当前或指定目录中的 Git 存储库。", + "example": "git init my_project" + }, + { + "name": "克隆仓库", + "command": "git clone [repository_url] [directory]", + "description": "克隆一个现有的 Git 仓库到本地机器上的新目录。", + "example": "git clone https://github.com/user/repo.git my_repo" + }, + { + "name": "添加文件", + "command": "git add [file(s)]", + "description": "将文件添加到 Git 暂存区域,准备进行提交。", + "example": "git add file1.txt file2.txt" + }, + { + "name": "提交更改", + "command": "git commit -m [message]", + "description": "使用指定的提交消息将对 Git 仓库的更改保存到历史记录。", + "example": "git commit -m 'Adding important files'" + }, + { + "name": "推送更改", + "command": "git push [remote_name] [branch_name]", + "description": "推送提交的更改到远程存储库。", + "example": "git push origin master" + }, + { + "name": "拉取更改", + "command": "git pull [remote_name] [branch_name]", + "description": "从远程存储库中获取更改并将其与本地存储库合并。", + "example": "git pull origin master" + }, + { + "name": "检查状态", + "command": "git status", + "description": "检查Git 仓库的状态并查看尚未执行的更改。", + "example": "git status" + }, + { + "name": "查看提交历史", + "command": "git log", + "description": "查看 Git 仓库中提交的历史记录。", + "example": "git log" + }, + { + "name": "创建分支", + "command": "git branch [branch_name]", + "description": "在 Git 仓库中创建一个新分支。", + "example": "git branch new_feature" + }, + { + "name": "切换到分支", + "command": "git checkout [branch_name]", + "description": "切换到 Git 仓库中不同的分支。", + "example": "git checkout new_feature" + }, + { + "name": "比较分支", + "command": "git diff [branch1] [branch2]", + "description": "比较Git 仓库中两个分支之间的差异。", + "example": "git diff master new_feature" + }, + { + "name": "合并分支", + "command": "git merge [branch_name]", + "description": "将指定分支的更改合并到 Git 仓库中的当前分支。", + "example": "git merge new_feature" + }, + { + "name": "重命名分支", + "command": "git branch -m [new_branch_name]", + "description": "在 Git 仓库中重命名当前分支。", + "example": "git branch -m updated_feature" + }, + { + "name": "删除分支", + "command": "git branch -d [branch_name]", + "description": "删除 Git 仓库中的分支。", + "example": "git branch -d outdated_feature" + }, + { + "name": "重置更改", + "command": "git reset [file]", + "description": "重置对 Git 仓库中文件的更改。", + "example": "git reset file1.txt" + }, + { + "name": "撤销提交", + "command": "git revert [commit_hash]", + "description": "撤销在 Git 仓库中的特定提交。", + "example": "git revert abc123" + }, + { + "name": "标记提交", + "command": "git tag [tag_name] [commit_hash]", + "description": "在 Git 仓库中添加标签到特定提交。", + "example": "git tag v1.0 abc123" + }, + { + "name": "暂存更改", + "command": "git stash", + "description": "临时保存对 Git 存储库的更改,而无需提交。", + "example": "git stash" + }, + { + "name": "应用分区更改", + "command": "git stash apply", + "description": "应用在 Git 仓库中分阶段的更改。", + "example": "git stash apply" + }, + { + "name": "列表分阶段更改", + "command": "git stash list", + "description": "列出Git 仓库中的所有分阶段更改。", + "example": "git stash list" + }, + { + "name": "删除分区更改", + "command": "git stash drop", + "description": "从 Git 仓库删除分阶段更改。", + "example": "git stash drop" + }, + { + "name": "显示提交日志", + "command": "git log", + "description": "显示 Git 仓库的提交历史记录。", + "example": "git log" + }, + { + "name": "显示提交差异", + "command": "git show [commit_hash]", + "description": "在 Git 仓库中显示特定提交的差异。", + "example": "git show abc123" + }, + { + "name": "获取远程更改", + "command": "git fetch", + "description": "从远程存储库获取更新到本地存储库。", + "example": "git fetch" + }, + { + "name": "拉取远程更改", + "command": "git pull", + "description": "从远程存储库获取并合并更新到本地存储库。", + "example": "git pull" + }, + { + "name": "推送本地更改", + "command": "git push [remote_name] [branch_name]", + "description": "将本地更改推送到远程存储库。", + "example": "git push origin new_feature" + }, + { + "name": "添加远程仓库", + "command": "git remote add [remote_name] [remote_url]", + "description": "添加远程存储库到本地存储库。", + "example": "git 远程添加上游的https://github.com/upstream_repo.git" + }, + { + "name": "删除远程仓库", + "command": "git remote remove [remote_name]", + "description": "从本地仓库删除远程存储库。", + "example": "git remote remove upstream" + }, + { + "name": "显示远程仓库", + "command": "git remote show [remote_name]", + "description": "在本地资源库中显示远程资源库的信息。", + "example": "git remote show origin" + }, + { + "name": "Git Rebase", + "command": "git 重建基础 [options] [--to newbase] [上行 [branch]]", + "description": "通过从一个分支移动提交到另一个分支重写提交历史。", + "example": "git rebase master" + }, + { + "name": "Git Cherry-self", + "command": "git cherry-self [options] ", + "description": "应用一些现有提交的更改。", + "example": "git cherry-self abcd123" + }, + { + "name": "Git Bisect", + "command": "git bisect [start] [end]", + "description": "通过执行二进制搜索查找在一个范围内提交的错误信息。", + "example": "git bisect start HEAD HEAD~10" + }, + { + "name": "临时保存", + "command": "git 暂存[保存|推送] [-p|--patch] [-k|--keep-index] [-u|--include-untrack] [-a|--all] [-q|--quiet] []", + "description": "暂时保存尚未准备就绪的更改。", + "example": "git stash save \"work in progress\"" + }, + { + "name": "Git 子模块", + "command": "git submodule [options] [submodule]", + "description": "在你的主Git仓库中管理子仓库.", + "example": "git submodule update --init" + }, + { + "name": "参考日志", + "command": "git reflog [options] [show]", + "description": "查看您仓库中所有Git引用的日志,即使它们已被删除或丢失。", + "example": "git reflog show HEAD" + }, + { + "name": "合并提交", + "command": "git rebase -i HEAD~[number of commits to squash]", + "description": "将多次提交合并为单次提交", + "example": "git rebase -i HEAD~3" + }, + { + "name": "显示更改日志", + "command": "git reflog", + "description": "显示对资源库HEAD 的更改日志", + "example": "git reflog" + }, + { + "name": "比较提交", + "command": "git diff [commit A]..[commit B]", + "description": "显示两次提交之间的差异", + "example": "git diff abc123..def456" + }, + { + "name": "Git 配置", + "command": "git config [option]", + "description": "配置 Git 设置", + "example": "git config --global user.name 'Your Name'" + }, + { + "name": "删除文件", + "command": "git rm [file]", + "description": "从资源库中删除文件", + "example": "git rm example.txt" + }, + { + "name": "标签提交", + "command": "git tag [tag name]", + "description": "将标签添加到特定提交", + "example": "git tag v1.0.0" + }, + { + "name": "恢复以前的提交", + "command": "git checkout [commit]", + "description": "切换到以前的提交并恢复存储库状态", + "example": "git checkout abc123" + }, + { + "name": "切换到分支", + "command": "git switch ", + "description": "切换到指定的分支。", + "example": "git switch feature_branch" + }, + { + "name": "创建并切换到新分支", + "command": "git switch -c ", + "description": "创建并切换到具有指定名称的新分支。", + "example": "git switch -c new_feature_branch" + }, + { + "name": "强制切换到分支", + "command": "git switch -C ", + "description": "强制切换到指定分支,放弃本地更改。", + "example": "git switch -C feature_branch" + } + ] +} \ No newline at end of file diff --git a/app/src/main/assets/cn/git_lessons.json b/app/src/main/assets/cn/git_lessons.json new file mode 100644 index 00000000..cfc40986 --- /dev/null +++ b/app/src/main/assets/cn/git_lessons.json @@ -0,0 +1,226 @@ +{ + "gitLessons": [ + { + "LessonTitle": "Git 简介", + "Steps": [ + { + "StepNumber": 1, + "Description": "什么是 Git?", + "Example": "", + "Explanation": "Git 是属于一种版本控制系统(电脑软件)。 它帮助我们追踪、记录与控制电脑代码或其他文本文件的任何更改。\n\n它就像文件版本的历史书,就可以简易地看到谁做了更改、做了什么以及什么时候做了修改。" + }, + { + "StepNumber": 2, + "Description": "为何使用 Git?", + "Example": "", + "Explanation": "Git 把合作进程的过程变得更加容易。当有多人合作时不怕会意外地覆盖别人所作的更改。\n\n使用 Git 时还可以安全地尝试新想法。\n\nGit也可以存储备份,用来管理不同的文件版本,随时都可以轻易地回到以前的状态。" + }, + { + "StepNumber": 3, + "Description": "下载 Git", + "Example": "git --version", + "Explanation": "从 Git 的官方网站(https://git-scm.com/)的下载网页中选出您电脑操作系统的 Git 版本(例如 Windows、macOS、Linux)。\n\n把下载完毕的文件打开,然后根据具有的 Git 安装步骤。\n\n安装完毕后,检查 Git 是否安装成功。在您的终端或命令提示符里输入" + }, + { + "StepNumber": 4, + "Description": "在您的电脑设置 Git", + "Example": "git config --global user.name '您的用戶名稱'\ngit config --global user.email '您的電郵地址'", + "Explanation": "使用 Git 前,首先要把它设置好。输入您的用户名称与电邮地址,这两份数据将会在您的每一个更改提交(commit)中出现(commit 备注信息)。" + }, + { + "StepNumber": 5, + "Description": "😕 Git 和 Github 是一样的东西吗?", + "Example": "", + "Explanation": "不对,Git 和 GitHub 虽然有相关的概念,但是他们是不一样的东西。\n\nGit 是一款版本控制的软件。\n\n而 GitHub 是一个可以方便存储、分享和在网络上协作的 Git 仓库平台。除了 GitHub 意以外还有其他类似的平台,例如 GitLab 和 Bitbucket。" + } + ] + }, + { + "LessonTitle": "Git 的基础", + "Steps": [ + { + "StepNumber": 1, + "Description": "开始项目", + "Example": "git init", + "Explanation": "安装了 Git 后就可以开始设置您项目的版本控制系统。\n\n先打开您的电脑终端、命令提示符或 Git Bash(Windows 方面),然后去到您要使用 Git 的文件目录。\n\n利用以下的指令来初始化一个新的 Git 仓库(Repository)" + }, + { + "StepNumber": 2, + "Description": "创建文件,添加文本", + "Example": "您好。这是我第一个文件", + "Explanation": "在您刚初始化的仓库里创建一个叫’hello.txt‘的新文件。\n\n利用 Notepad、Vim、Sublime、VS Code 等类似的文本编辑器,输入以下的文本,然后保存文件" + }, + { + "StepNumber": 3, + "Description": "添加与追踪文件", + "Example": "git add hello.txt", + "Explanation": "文件创建后,就可以开始用 Git 追踪了。\n\n利用以下的 ’git add <文件名称>‘ 指令,Git 就会开始记录跟追踪您的文件了。" + }, + { + "StepNumber": 4, + "Description": "检查 Git 状态", + "Example": "git status", + "Explanation": "您可以随时查看您仓库的状态,检查看看有哪一些文件有在被追踪、被更改或被暂存(stage)到下一个提交里。\n\n使用“git status”指令就可以看到这些数据了。" + }, + { + "StepNumber": 5, + "Description": "提交所作的更改", + "Example": "git commit -m \"my first commit\"", + "Explanation": "Git 提交就是指您项目在某个时候的快照,就像之前提到的历史书。\n\n它可以轻易地记录下您所作过的更改还有一段备注信息来描述所作的更改\n\n使用以下的指令来作出提交" + }, + { + "StepNumber": 6, + "Description": "下一步呢?", + "Example": "", + "Explanation": "🎉 恭喜!您现在已经学会了 Git 的基础知识。\n\n您继续使用 Git 的过程是将会遇到分支、合并等的其他 Git 服务。\n\nGit 的官方文档和其他网上的教程可以深化您对 Git 的了解和知识。" + } + ] + }, + { + "LessonTitle": "吉特分支", + "Steps": [ + { + "StepNumber": 1, + "Description": "什么是Git分支?", + "Example": "", + "Explanation": "Git分支是一个单独的开发线路,您可以在不影响主代码库的情况下在项目的不同部分工作。\n\n这对于协作和管理多个功能、错误修复或实验特别有用。\n\n分支帮助隔离更改,使其更容易审查、测试和整合到主代码库中。" + }, + { + "StepNumber": 2, + "Description": "创建分支", + "Example": "git branch feature-login", + "Explanation": "若要创建一个新分支,请使用你想要创建的分支的名称后面的“git分支”命令。" + }, + { + "StepNumber": 3, + "Description": "切换分支", + "Example": "git checkout feature-login", + "Explanation": "要切换到新分支,请使用git checkout”或“git switch”命令,然后使用分支的名称。" + }, + { + "StepNumber": 4, + "Description": "[Shortcut] 创建并切换分支", + "Example": "git checkout -b feature-signup", + "Explanation": "若要在一个命令中创建并切换到新分支,请使用 \"git 结帐-b \"。" + }, + { + "StepNumber": 5, + "Description": "合并分支", + "Example": "git 结帐主\ngit 合并功能——登录", + "Explanation": "一旦你对你的分支所做的更改感到满意,现在是将这些更改合并到主代码库的时候了。\n\n要做到这一点,请切换到主分支并使用“git合并”命令。" + }, + { + "StepNumber": 6, + "Description": "删除分支", + "Example": "git branch -d feature-login", + "Explanation": "在运行此命令之前,请确保您已经合并了您想要删除的分支的所有更改。\n\n若要删除一个分支,请使用 `git branch` 命令,然后使用 `-d` 选项。\n\n如果您需要强制删除分支,请使用 \"-D\" 旗帜而不是 \"-d\"。" + } + ] + }, + { + "LessonTitle": "Git Staging", + "Steps": [ + { + "StepNumber": 1, + "Description": "什么是Git Staging", + "Example": "", + "Explanation": "Git Staging是准备对Git 存储库进行一系列更改的过程。\n\n允许您只选择您想要在下次提交中包含的更改, 而不是承诺对仓库所作的所有更改。" + }, + { + "StepNumber": 2, + "Description": "添加Git暂存区的更改", + "Example": "git add file1.txt file2.txt", + "Explanation": "要添加对 Git Staging 区域的更改,请使用 `git add` 命令,然后是您想要添加的文件的名称。\n\n这将进行更改,这意味着它们将被包含在下一个承诺中。" + }, + { + "StepNumber": 3, + "Description": "查看分阶段和未分阶段的更改", + "Example": "git diff\ngit diff --staged", + "Explanation": "要查看您对 Git 仓库所作的更改,请使用 \"git diff\" 命令。\n\n要只查看已分阶段更改,请使用 `git diff --staged` 命令。 这将显示已经进行并准备就绪的更改列表。" + }, + { + "StepNumber": 4, + "Description": "从暂存区移除更改", + "Example": "git reset file1.txt", + "Explanation": "要移除Git Staging区域中的更改,请使用`git reset`命令,然后是您想要移除的文件的名称。\n\n这将移除暂存区的更改,但它们仍然存在于工作树中。" + }, + { + "StepNumber": 5, + "Description": "正在提交分期更改", + "Example": "git commit -m 'Commit message'", + "Explanation": "若要将 Git 暂存区中的更改提交到 Git 仓库,请使用 `git commit` 命令然后提交消息。\n\n这将在Git日志中创建一个新的提交,并且您已经进行了修改。" + } + ] + }, + { + "LessonTitle": "GitHub", + "Steps": [ + { + "StepNumber": 1, + "Description": "什么是 GitHub?", + "Example": "", + "Explanation": "GitHub 是一个使用Git的版本控制和协作网络平台。\n\n提供一个集中的项目仓库,使团队更容易在代码和跟踪更改方面进行合作。" + }, + { + "StepNumber": 2, + "Description": "创建 GitHub 帐户", + "Example": "", + "Explanation": "要开始使用 GitHub,您需要访问GitHub 网站并跟随注册过程,创建一个 GitHub 帐户。 您将被要求提供您的用户名、电子邮件地址和密码。" + }, + { + "StepNumber": 3, + "Description": "创建新的 GitHub 仓库", + "Example": "", + "Explanation": "1. Log in to your GitHub account.\n\n2. Click the \"+\" icon in the top-right corner and select \"New repository\"\n\n3. Provide a name for your repository, a brief description, and choose whether it's public (visible to anyone) or private (visible only to collaborators)\n\n4. Select additional options if needed, such as initializing the repository with a README file\n\n5. Click \"Create repository\"" + }, + { + "StepNumber": 4, + "Description": "克隆一个 GitHub 仓库", + "Example": "git clone ", + "Explanation": "克隆仓库意味着将其内容复制到您的本地机器。\n\n允许您进行更改,用Git跟踪它们,并将这些更改推回到仓库中。\n\n要克隆一个 GitHub 仓库到您的本地机器,请使用 `git clone` 命令,然后使用 GitHub 仓库的 URL。\n\n 示例:“git clone https://github.com/firstcontributions/first contributions.git”" + }, + { + "StepNumber": 5, + "Description": "进行更改并推送到 GitHub", + "Example": "git 添加。\ngit 提交-m \"message\"\n\ngit 推送原始主", + "Explanation": "一旦你克隆了一个仓库,你可以像其他Git仓库一样对文件进行修改。\n\n在进行更改后,按照这些步骤将您的更改推送到 GitHub\n\n然后使用你想要推送更改的分支名称后面的“git pus”命令。 这将上传到GitHub 仓库的更改。" + } + ] + }, + { + "LessonTitle": "使用终端Git 到 GitHub 工作流", + "Steps": [ + { + "StepNumber": 1, + "Description": "在本地创建一个新的 Git 仓库", + "Example": "git init init my-new-project", + "Explanation": "要开始使用 Git 进行新的项目,您需要创建一个新的 Git 存储库。 您可以通过导航到您在终端中的项目目录并运行 `git init` 命令来做到这一点。" + }, + { + "StepNumber": 2, + "Description": "将文件添加到 Git 仓库", + "Example": "git 添加。\ngit commit -m '初始提交'", + "Explanation": "要将文件添加到 Git 仓库,请使用 `git add` 命令,然后是文件名或 `。 添加目录中的所有文件。 然后使用 \"git commit\" 命令创建一个新的提交,包含描述您已经做出的更改的消息。" + }, + { + "StepNumber": 3, + "Description": "创建新的 GitHub 仓库", + "Example": "", + "Explanation": "要创建一个新的 GitHub 仓库,请登录到您的 GitHub 帐户并点击“新仓库”按钮。 您将被要求提供仓库名称、描述,并选择仓库的可见性 (公开或私有)。" + }, + { + "StepNumber": 4, + "Description": "将GitHub 存储库添加为远程", + "Example": "git 远程添加来源 https://github.com/user/repo.git", + "Explanation": "要将本地的 Git 仓库与 GitHub 仓库链接,您需要将GitHub 仓库添加为远程的 Git。 您可以使用 `git 远程add` 命令来做到这一点,然后是您想要给这个远程 (通常是 `origin` ) 和 GitHub 仓库的 URL 的名称。" + }, + { + "StepNumber": 5, + "Description": "将更改推送到 GitHub 仓库", + "Example": "git push -u origin master", + "Explanation": "将本地Git仓库中的更改推送到 GitHub 仓库, 使用 `git 推送' 命令,然后使用远程 (`origin`) 的名称和你想要将更改推送到 (`master`) 的分支。 \"-u\" 选项将远程分支设置为将来的 \"git 推送\" 命令的默认值。" + } + ] + } + ] +} diff --git a/app/src/main/assets/cn/git_quiz.json b/app/src/main/assets/cn/git_quiz.json new file mode 100644 index 00000000..e66bec49 --- /dev/null +++ b/app/src/main/assets/cn/git_quiz.json @@ -0,0 +1,1654 @@ +{ + "quiz": [ + { + "id": 1, + "question": "如何查看特定文件的提交历史记录?", + "choices": [ + "git log", + "git history", + "git show", + "git file-history" + ], + "correctAnswer": "git log" + }, + { + "id": 2, + "question": "如何撤销最后一次还未推送到远程仓库的提交?", + "choices": [ + "git reset", + "git revert", + "git undo", + "git rollback" + ], + "correctAnswer": "git reset" + }, + { + "id": 3, + "question": "'git pull' 命令的作用是什么?", + "choices": [ + "上传更改到远程", + "从远程下载更改", + "合并远程更改", + "删除远程更改" + ], + "correctAnswer": "从远程下载更改" + }, + { + "id": 4, + "question": "如何解决Git中的合并冲突?", + "choices": [ + "git accept", + "git merge-conflict", + "git resolve", + "git mergetool" + ], + "correctAnswer": "git mergetool" + }, + { + "id": 5, + "question": "'git stash' 命令的作用是什么?", + "choices": [ + "删除更改", + "临时保存更改", + "重命名分支", + "创建新分支" + ], + "correctAnswer": "临时保存更改" + }, + { + "id": 6, + "question": "如何重命名本地Git分支?", + "choices": [ + "git mv", + "git branch-rename", + "git rename-branch", + "git branch -m" + ], + "correctAnswer": "git branch -m" + }, + { + "id": 7, + "question": "在Git和GitHub中,'fork'(复刻)是什么意思?", + "choices": [ + "创建新分支", + "复制仓库到你的GitHub账号", + "合并两个分支", + "删除分支" + ], + "correctAnswer": "复制仓库到你的GitHub账号" + }, + { + "id": 8, + "question": "如何查看两个Git分支之间的差异?", + "choices": [ + "git diff", + "git changes", + "git compare", + "git branch-diff" + ], + "correctAnswer": "git diff" + }, + { + "id": 9, + "question": "'.gitattributes' 文件的作用是什么?", + "choices": [ + "指定合并策略", + "定义仓库设置", + "配置每个路径的行尾和属性", + "存储Git凭证" + ], + "correctAnswer": "配置每个路径的行尾和属性" + }, + { + "id": 10, + "question": "如何创建Git标签?", + "choices": [ + "git create-tag", + "git tag -a", + "git tag-create", + "git new-tag" + ], + "correctAnswer": "git tag -a" + }, + { + "id": 11, + "question": "'.gitkeep' 文件的作用是什么?", + "choices": [ + "标记一个空目录", + "排除文件不被跟踪", + "在Git中保留空目录", + "定义仓库设置" + ], + "correctAnswer": "标记一个空目录" + }, + { + "id": 12, + "question": "如何查看与本地仓库关联的远程仓库列表?", + "choices": [ + "git list-remotes", + "git remotes", + "git remote -v", + "git show-remotes" + ], + "correctAnswer": "git remote -v" + }, + { + "id": 13, + "question": "'git bisect' 命令的作用是什么?", + "choices": [ + "查看提交历史", + "用于查找有问题提交的调试工具", + "创建新分支", + "撤销最后一次提交" + ], + "correctAnswer": "用于查找有问题提交的调试工具" + }, + { + "id": 14, + "question": "如何从Git中移除文件但不从工作目录中删除它?", + "choices": [ + "git delete", + "git rm --cached", + "git remove", + "git exclude" + ], + "correctAnswer": "git rm --cached" + }, + { + "id": 15, + "question": "'git cherry-pick' 命令的作用是什么?", + "choices": [ + "将一个分支的更改合并到另一个分支", + "创建新分支", + "撤销最后一次提交", + "删除分支" + ], + "correctAnswer": "将一个分支的更改合并到另一个分支" + }, + { + "id": 16, + "question": "如何查看Git中特定提交的详细信息?", + "choices": [ + "git show", + "git info", + "git commit-info", + "git details" + ], + "correctAnswer": "git show" + }, + { + "id": 17, + "question": "'git rebase' 命令的作用是什么?", + "choices": [ + "将一个分支的更改合并到另一个分支", + "将一系列提交移动或合并到新的基础提交", + "删除分支", + "创建新分支" + ], + "correctAnswer": "将一系列提交移动或合并到新的基础提交" + }, + { + "id": 18, + "question": "如何显示最后一次提交引入的更改?", + "choices": [ + "git changes", + "git diff HEAD^", + "git show last", + "git commit-changes" + ], + "correctAnswer": "git diff HEAD^" + }, + { + "id": 19, + "question": "什么是Git钩子(Git hook)?", + "choices": [ + "一种分支类型", + "托管Git仓库的服务器", + "由Git事件触发的程序", + "一种特殊的提交" + ], + "correctAnswer": "由Git事件触发的程序" + }, + { + "id": 20, + "question": "如何用一个命令创建并切换到新分支?", + "choices": [ + "git branch -c", + "git new-branch", + "git checkout -b", + "git switch" + ], + "correctAnswer": "git checkout -b" + }, + { + "id": 21, + "question": "'.gitkeep' 文件的作用是什么?", + "choices": [ + "标记一个空目录", + "排除文件不被跟踪", + "在Git中保留空目录", + "定义仓库设置" + ], + "correctAnswer": "标记一个空目录" + }, + { + "id": 22, + "question": "如何删除Git中的远程分支?", + "choices": [ + "git branch -d remote-branch", + "git delete-remote-branch", + "git remove-remote-branch", + "git push origin --delete remote-branch" + ], + "correctAnswer": "git push origin --delete remote-branch" + }, + { + "id": 23, + "question": "'git log --graph' 显示什么?", + "choices": [ + "提交历史的图形化表示", + "远程分支列表", + "更改摘要", + "所有提交的日志" + ], + "correctAnswer": "提交历史的图形化表示" + }, + { + "id": 24, + "question": "如何修改最后一次提交的消息?", + "choices": [ + "git commit --amend", + "git amend-commit", + "git edit-commit", + "git change-commit" + ], + "correctAnswer": "git commit --amend" + }, + { + "id": 25, + "question": "'git branch' 命令的作用是什么?", + "choices": [ + "创建新分支", + "删除分支", + "显示分支列表", + "合并分支" + ], + "correctAnswer": "显示分支列表" + }, + { + "id": 26, + "question": "如何查看所有分支,包括远程分支?", + "choices": [ + "git branches -a", + "git list-branches", + "git remote-branches", + "git branch -a" + ], + "correctAnswer": "git branch -a" + }, + { + "id": 27, + "question": "'git reflog' 命令的作用是什么?", + "choices": [ + "列出所有远程引用", + "显示引用变更的日志", + "删除远程引用", + "创建新的引用" + ], + "correctAnswer": "显示引用变更的日志" + }, + { + "id": 28, + "question": "如何查看两个Git提交之间的差异?", + "choices": [ + "git diff", + "git changes", + "git compare", + "git commit-diff" + ], + "correctAnswer": "git diff" + }, + { + "id": 29, + "question": "'git submodule' 命令的作用是什么?", + "choices": [ + "更新所有子模块", + "向仓库添加子模块", + "删除子模块", + "列出所有子模块" + ], + "correctAnswer": "向仓库添加子模块" + }, + { + "id": 30, + "question": "如何取消Git中的更改?", + "choices": [ + "git unstage", + "git reset", + "git remove", + "git revert" + ], + "correctAnswer": "git reset" + }, + { + "id": 31, + "question": "什么是Git中的快速前进合并?", + "choices": [ + "只考虑目标分支的更改的合并", + "快速合并", + "删除分支的合并", + "需要批准的合并" + ], + "correctAnswer": "只考虑目标分支的更改的合并" + }, + { + "id": 32, + "question": "如何查看特定提交的更改?", + "choices": [ + "git changes", + "git diff", + "git show", + "git commit-files" + ], + "correctAnswer": "git show" + }, + { + "id": 33, + "question": "'git log --oneline' 命令的作用是什么?", + "choices": [ + "每个提交显示在一行的简洁日志", + "每个提交显示在多行的详细日志", + "只显示提交信息的第一行", + "只显示提交信息的最后一行" + ], + "correctAnswer": "每个提交显示在一行的简洁日志" + }, + { + "id": 34, + "question": "如何创建Git别名?", + "choices": [ + "git add-alias", + "git alias", + "git create-alias", + "git config --global alias" + ], + "correctAnswer": "git config --global alias" + }, + { + "id": 35, + "question": "'git rebase -i' 命令的作用是什么?", + "choices": [ + "交互式变基, 允许修改提交", + "强制推送更改到远程分支", + "使用远程最新更改进行变基", + "不需确认的变基" + ], + "correctAnswer": "交互式变, 允许修改提交" + }, + { + "id": 36, + "question": "如何查看特定文件的提交历史记录,包括重命名?", + "choices": [ + "git log --follow", + "git log --changes", + "git history --follow", + "git file-history" + ], + "correctAnswer": "git log --follow" + }, + { + "id": 37, + "question": "'git push --force' 命令的作用是什么?", + "choices": [ + "推送更改到远程分支", + "强制推送更改到远程分支", + "删除远程分支", + "更新本地分支" + ], + "correctAnswer": "强制推送更改到远程分支" + }, + { + "id": 38, + "question": "如何删除本地Git分支?", + "choices": [ + "git remove-branch", + "git branch -d branch-name", + "git delete-branch", + "git branch -D branch-name" + ], + "correctAnswer": "git branch -d branch-name" + }, + { + "id": 39, + "question": "'git log --since' 命令的作用是什么?", + "choices": [ + "显示特定日期之后的提交", + "显示特定文件的提交历史", + "每个提交显示在一行的简洁日志", + "显示特定分支的提交历史" + ], + "correctAnswer": "显示特定日期之后的提交" + }, + { + "id": 40, + "question": "如何撤销最后一次提交,而不丢失工作目录中的更改?", + "choices": [ + "git revert", + "git reset --soft", + "git undo", + "git rollback" + ], + "correctAnswer": "git reset --soft" + }, + { + "id": 41, + "question": "'git log --grep' 命令的作用是什么?", + "choices": [ + "在提交信息中搜索字符串", + "列出所有分支", + "显示每个提交在多行的详细日志", + "只显示提交信息的第一行" + ], + "correctAnswer": "在提交信息中搜索字符串" + }, + { + "id": 42, + "question": "如何重命名Git中的文件并保留其历史记录?", + "choices": [ + "git move", + "git rename", + "git mv", + "git change" + ], + "correctAnswer": "git mv" + }, + { + "id": 43, + "question": "'git log --author' 命令的作用是什么?", + "choices": [ + "显示特定作者的提交", + "每个提交显示在一行的简洁日志", + "显示特定分支的提交历史", + "只显示提交信息的最后一行" + ], + "correctAnswer": "显示特定作者的提交" + }, + { + "id": 44, + "question": "如何查看特定提交引入的更改?", + "choices": [ + "git diff commit-hash", + "git show commit-hash", + "git changes commit-hash", + "git commit-diff commit-hash" + ], + "correctAnswer": "git show commit-hash" + }, + { + "id": 45, + "question": "'git log --decorate' 命令的作用是什么?", + "choices": [ + "显示带有附加信息的装饰日志", + "每个提交显示在一行的简洁日志", + "只显示提交信息的第一行", + "每个提交显示在多行的详细日志" + ], + "correctAnswer": "显示带有附加信息的装饰日志" + }, + { + "id": 46, + "question": "如何将多个Git提交压缩为一个提交?", + "choices": [ + "git merge --squash", + "git rebase --squash", + "git squash-commits", + "git combine-commits" + ], + "correctAnswer": "git rebase --squash" + }, + { + "id": 47, + "question": "'git log --oneline --graph' 命令的作用是什么?", + "choices": [ + "显示每个提交在一行的简洁日志和图形化表示", + "显示每个提交在多行的详细日志", + "只显示提交信息的最后一行", + "只显示提交信息的第一行" + ], + "correctAnswer": "显示每个提交在一行的简洁日志和图形化表示" + }, + { + "id": 48, + "question": "如何查看特定分支的提交历史记录?", + "choices": [ + "git log branch-name", + "git branch-log branch-name", + "git history branch-name", + "git show branch-name" + ], + "correctAnswer": "git log branch-name" + }, + { + "id": 49, + "question": "'git clean' 命令的作用是什么?", + "choices": [ + "从工作目录中删除未跟踪的文件", + "清理提交历史", + "删除分支", + "从暂存区移除更改" + ], + "correctAnswer": "从工作目录中删除未跟踪的文件" + }, + { + "id": 50, + "question": "如何在Git中创建新分支并切换到它?", + "choices": [ + "git branch new-branch", + "git create-branch new-branch", + "git checkout -b new-branch", + "git switch new-branch" + ], + "correctAnswer": "git checkout -b new-branch" + }, + { + "id": 51, + "question": "在Git中如何检查工作目录的状态?", + "choices": [ + "git check", + "git status", + "git info", + "git show" + ], + "correctAnswer": "git status" + }, + { + "id": 52, + "question": "如何在GitHub上创建新的远程仓库?", + "choices": [ + "git create-repo", + "git remote-create", + "git init", + "git new-remote" + ], + "correctAnswer": "git create-repo" + }, + { + "id": 53, + "question": "'git add' 命令的作用是什么?", + "choices": [ + "提交更改", + "将更改添加到暂存区", + "创建新分支", + "在仓库中删除文件" + ], + "correctAnswer": "将更改添加到暂存区" + }, + { + "id": 54, + "question": "如何查看Git中两个分支之间的更改?", + "choices": [ + "git branch-diff", + "git diff-branches", + "git changes", + "git diff branch1 branch2" + ], + "correctAnswer": "git diff branch1 branch2" + }, + { + "id": 55, + "question": "'git branch' 命令的作用是什么?", + "choices": [ + "创建新分支", + "删除分支", + "显示分支列表", + "合并分支" + ], + "correctAnswer": "显示分支列表" + }, + { + "id": 56, + "question": "如何在Git中重命名远程?", + "choices": [ + "git remote-rename", + "git remote -mv", + "git remote rename", + "git rename-remote" + ], + "correctAnswer": "git remote rename" + }, + { + "id": 57, + "question": "'git log -n' 命令的作用是什么?", + "choices": [ + "显示最后n个提交", + "显示详细的提交信息", + "显示简洁日志", + "显示特定日期以来的提交" + ], + "correctAnswer": "显示最后n个提交" + }, + { + "id": 58, + "question": "如何丢弃工作目录中特定文件的更改?", + "choices": [ + "git remove", + "git discard", + "git reset", + "git checkout -- file" + ], + "correctAnswer": "git checkout -- file" + }, + { + "id": 59, + "question": "'.gitignore' 文件的作用是什么?", + "choices": [ + "列出要被Git忽略的文件", + "将文件包含在仓库中", + "跟踪仓库中的所有文件", + "备份仓库历史" + ], + "correctAnswer": "列出要被Git忽略的文件" + }, + { + "id": 60, + "question": "如何在Git中创建新分支并切换到它?", + "choices": [ + "git branch new-branch", + "git create-branch new-branch", + "git checkout -b new-branch", + "git switch new-branch" + ], + "correctAnswer": "git checkout -b new-branch" + }, + { + "id": 61, + "question": "'git pull origin main' 的作用是什么?", + "choices": [ + "将更改推送到主分支", + "从主分支获取并合并更改", + "删除主分支", + "创建一个名为'main'的新分支" + ], + "correctAnswer": "从主分支获取并合并更改" + }, + { + "id": 62, + "question": "如何在Git中创建并应用补丁?", + "choices": [ + "git create-patch", + "git patch-create", + "git diff > patchfile", + "git apply-patch" + ], + "correctAnswer": "git diff > patchfile" + }, + { + "id": 63, + "question": "'git fetch' 命令的作用是什么?", + "choices": [ + "将更改上传到远程", + "从远程下载更改", + "合并远程更改", + "删除远程更改" + ], + "correctAnswer": "从远程下载更改" + }, + { + "id": 64, + "question": "如何全局配置Git中的用户名和电子邮件?", + "choices": [ + "git config --global user.name/email", + "git set-username/email", + "git username/email", + "git configure user.name/email" + ], + "correctAnswer": "git config --global user.name/email" + }, + { + "id": 65, + "question": "'git tag -l' 显示什么?", + "choices": [ + "列出所有标签", + "创建新标签", + "删除标签", + "显示详细标签信息" + ], + "correctAnswer": "列出所有标签" + }, + { + "id": 66, + "question": "如何查看最后一次提交引入的更改?", + "choices": [ + "git changes", + "git diff HEAD^", + "git show last", + "git commit-changes" + ], + "correctAnswer": "git diff HEAD^" + }, + { + "id": 67, + "question": "'git remote show' 命令的作用是什么?", + "choices": [ + "列出远程分支", + "显示有关远程的详细信息", + "删除远程", + "显示远程更改" + ], + "correctAnswer": "显示有关远程的详细信息" + }, + { + "id": 68, + "question": "如何创建Git分支而不切换到它?", + "choices": [ + "git create-branch", + "git branch -c", + "git checkout -b", + "git branch new-branch" + ], + "correctAnswer": "git branch new-branch" + }, + { + "id": 69, + "question": "'git merge --no-ff' 命令的作用是什么?", + "choices": [ + "强制快进合并", + "防止快进合并", + "仅合并非快进分支", + "合并后删除分支" + ], + "correctAnswer": "防止快进合并" + }, + { + "id": 70, + "question": "如何撤销已推送到远程仓库的Git提交?", + "choices": [ + "git reset", + "git revert", + "git rollback", + "git undo" + ], + "correctAnswer": "git revert" + }, + { + "id": 71, + "question": "'git log --since' 的作用是什么?", + "choices": [ + "显示特定日期之后的提交", + "显示特定文件的提交历史", + "显示每个提交在一行的简洁日志", + "显示特定分支的提交历史" + ], + "correctAnswer": "显示特定日期之后的提交" + }, + { + "id": 72, + "question": "如何在不更改提交信息的情况下修改最后一次提交?", + "choices": [ + "git commit --amend", + "git amend-commit", + "git edit-commit", + "git change-commit" + ], + "correctAnswer": "git commit --amend" + }, + { + "id": 73, + "question": "'git log --grep' 命令的作用是什么?", + "choices": [ + "在提交信息中搜索字符串", + "列出所有分支", + "显示每个提交在多行的详细日志", + "只显示提交信息的第一行" + ], + "correctAnswer": "在提交信息中搜索字符串" + }, + { + "id": 74, + "question": "如何同时从工作目录和Git仓库删除文件?", + "choices": [ + "git delete-file", + "git remove-file", + "git rm file", + "git exclude-file" + ], + "correctAnswer": "git rm file" + }, + { + "id": 75, + "question": "'git log --graph' 命令的作用是什么?", + "choices": [ + "显示提交历史的图形化表示", + "显示每个提交在一行的简洁日志", + "只显示提交信息的最后一行", + "显示特定分支的提交历史" + ], + "correctAnswer": "显示提交历史的图形化表示" + }, + { + "id": 76, + "question": "如何基于特定提交创建Git分支?", + "choices": [ + "git branch new-branch commit-hash", + "git create-branch new-branch commit-hash", + "git checkout -b new-branch commit-hash", + "git switch new-branch commit-hash" + ], + "correctAnswer": "git branch new-branch commit-hash" + }, + { + "id": 77, + "question": "'git cherry-pick -n' 命令的作用是什么?", + "choices": [ + "将更改从提交应用到工作目录而不提交", + "将更改从提交应用到工作目录并提交", + "创建一个带有樱桃挑选更改的新分支", + "从提交中删除更改" + ], + "correctAnswer": "将更改从提交应用到工作目录而不提交" + }, + { + "id": 78, + "question": "如何查看特定文件的提交历史记录,包括重命名后的更改?", + "choices": [ + "git log --follow", + "git log --changes", + "git history --follow", + "git file-history" + ], + "correctAnswer": "git log --follow" + }, + { + "id": 79, + "question": "'git log --oneline --graph' 命令的作用是什么?", + "choices": [ + "在单行中显示每个提交的简洁日志和图形化表示", + "在多行中显示每个提交的详细日志", + "只显示提交信息的最后一行", + "只显示提交信息的第一行" + ], + "correctAnswer": "在单行中显示每个提交的简洁日志和图形化表示" + }, + { + "id": 80, + "question": "如何撤销尚未推送到远程仓库的Git提交?", + "choices": [ + "git reset", + "git revert", + "git rollback", + "git undo" + ], + "correctAnswer": "git reset" + }, + { + "id": 81, + "question": "如何克隆远程仓库到本地机器?", + "choices": [ + "git clone", + "git fetch", + "git pull", + "git copy" + ], + "correctAnswer": "git clone" + }, + { + "id": 82, + "question": "如何创建一个新分支?", + "choices": [ + "git new-branch", + "git branch -n", + "git branch new-branch", + "git create-branch" + ], + "correctAnswer": "git branch new-branch" + }, + { + "id": 83, + "question": "在Git中使用什么命令来暂存要提交的更改?", + "choices": [ + "git add", + "git commit", + "git stage", + "git modify" + ], + "correctAnswer": "git add" + }, + { + "id": 84, + "question": "如何取消Git中的更改?", + "choices": [ + "git reset", + "git unstage", + "git revert", + "git discard" + ], + "correctAnswer": "git reset" + }, + { + "id": 85, + "question": "'git pull' 命令的作用是什么?", + "choices": [ + "将本地更改推送到远程仓库", + "从远程仓库获取并合并更改", + "克隆远程仓库", + "删除远程仓库" + ], + "correctAnswer": "从远程仓库获取并合并更改" + }, + { + "id": 86, + "question": "在Git中查看提交历史的命令是什么?", + "choices": [ + "git history", + "git show", + "git log", + "git commits" + ], + "correctAnswer": "git log" + }, + { + "id": 87, + "question": "如何在Git中创建新标签?", + "choices": [ + "git tag -a", + "git create-tag", + "git new-tag", + "git tag-create" + ], + "correctAnswer": "git tag -a" + }, + { + "id": 88, + "question": "'git push' 命令的作用是什么?", + "choices": [ + "从远程下载更改", + "将本地更改推送到远程仓库", + "合并远程更改", + "删除远程更改" + ], + "correctAnswer": "将本地更改推送到远程仓库" + }, + { + "id": 89, + "question": "如何查看两个提交之间的差异?", + "choices": [ + "git compare", + "git changes", + "git diff", + "git commit-diff" + ], + "correctAnswer": "git diff" + }, + { + "id": 90, + "question": "'.gitignore' 文件的作用是什么?", + "choices": [ + "指定合并策略", + "定义仓库设置", + "配置每个路径的行尾和属性", + "列出要被Git忽略的文件" + ], + "correctAnswer": "列出要被Git忽略的文件" + }, + { + "id": 91, + "question": "如何丢弃工作目录中的更改?", + "choices": [ + "git remove", + "git discard", + "git reset", + "git checkout -- file" + ], + "correctAnswer": "git checkout -- file" + }, + { + "id": 92, + "question": "在Git中使用什么命令来创建并切换到新分支?", + "choices": [ + "git branch -c", + "git new-branch", + "git checkout -b", + "git switch" + ], + "correctAnswer": "git checkout -b" + }, + { + "id": 93, + "question": "如何查看特定提交的详细信息?", + "choices": [ + "git details", + "git show", + "git info", + "git commit-info" + ], + "correctAnswer": "git show" + }, + { + "id": 94, + "question": "'git branch -d' 命令的作用是什么?", + "choices": [ + "创建新分支", + "删除分支", + "重命名分支", + "合并分支" + ], + "correctAnswer": "删除分支" + }, + { + "id": 95, + "question": "如何重命名本地分支?", + "choices": [ + "git branch -m", + "git mv", + "git rename-branch", + "git move-branch" + ], + "correctAnswer": "git branch -m" + }, + { + "id": 96, + "question": "'git remote add' 命令的作用是什么?", + "choices": [ + "添加新的远程仓库", + "删除远程仓库", + "重命名远程仓库", + "显示远程仓库信息" + ], + "correctAnswer": "添加新的远程仓库" + }, + { + "id": 97, + "question": "如何查看最后一次提交引入的更改?", + "choices": [ + "git changes", + "git diff HEAD^", + "git show last", + "git commit-changes" + ], + "correctAnswer": "git diff HEAD^" + }, + { + "id": 98, + "question": "'git rebase' 命令的作用是什么?", + "choices": [ + "将一个分支的更改合并到另一个分支", + "移动或合并一系列提交到新的基础提交", + "删除分支", + "创建新分支" + ], + "correctAnswer": "移动或合并一系列提交到新的基础提交" + }, + { + "id": 99, + "question": "如何删除Git中的远程仓库引用?", + "choices": [ + "git remote -d", + "git remove-remote", + "git delete-remote", + "git remote-delete" + ], + "correctAnswer": "git remote -d" + }, + { + "id": 100, + "question": "'git log --oneline' 命令的作用是什么?", + "choices": [ + "在单行中显示每个提交的简洁日志", + "在多行中显示每个提交的详细日志", + "只显示提交信息的第一行", + "只显示提交信息的最后一行" + ], + "correctAnswer": "在单行中显示每个提交的简洁日志" + }, + { + "id": 101, + "question": "如何创建一个新分支而不切换到它?", + "choices": [ + "git branch -c", + "git new-branch", + "git checkout -b", + "git switch" + ], + "correctAnswer": "git branch -c new-branch" + }, + { + "id": 102, + "question": "'git log --graph' 显示什么?", + "choices": [ + "提交历史的图形化表示", + "远程分支列表", + "更改摘要", + "所有提交的日志" + ], + "correctAnswer": "提交历史的图形化表示" + }, + { + "id": 103, + "question": "如何查看两个Git分支之间的差异?", + "choices": [ + "git diff", + "git changes", + "git compare", + "git branch-diff" + ], + "correctAnswer": "git diff" + }, + { + "id": 104, + "question": "'git stash' 命令的作用是什么?", + "choices": [ + "删除更改", + "临时保存更改", + "重命名分支", + "创建新分支" + ], + "correctAnswer": "临时保存更改" + }, + { + "id": 105, + "question": "如何基于特定提交创建一个新分支?", + "choices": [ + "git checkout -b new-branch commit-hash", + "git branch new-branch commit-hash", + "git create-branch new-branch commit-hash", + "git switch new-branch commit-hash" + ], + "correctAnswer": "git branch new-branch commit-hash" + }, + { + "id": 106, + "question": "'git log --grep' 命令的作用是什么?", + "choices": [ + "在提交信息中搜索字符串", + "列出所有分支", + "显示每个提交的详细日志", + "只显示提交信息的第一行" + ], + "correctAnswer": "在提交信息中搜索字符串" + }, + { + "id": 107, + "question": "如何从Git中删除文件而不从工作目录中删除它?", + "choices": [ + "git delete", + "git rm --cached", + "git remove", + "git exclude" + ], + "correctAnswer": "git rm --cached" + }, + { + "id": 108, + "question": "'git log --graph --oneline' 命令的作用是什么?", + "choices": [ + "在单行中显示每个提交的简洁日志和图形化表示", + "在多行中显示每个提交的详细日志", + "只显示提交信息的第一行", + "只显示提交信息的最后一行" + ], + "correctAnswer": "在单行中显示每个提交的简洁日志和图形化表示" + }, + { + "id": 109, + "question": "如何将多个Git提交压缩为一个提交?", + "choices": [ + "git combine", + "git squash", + "git merge --squash", + "git condense" + ], + "correctAnswer": "git squash" + }, + { + "id": 110, + "question": "'git log --since' 命令的作用是什么?", + "choices": [ + "显示特定日期之后的提交", + "显示特定文件的提交历史", + "在单行中显示每个提交的简洁日志", + "显示特定分支的提交历史" + ], + "correctAnswer": "显示特定日期之后的提交" + }, + { + "id": 111, + "question": "如何撤销最后一次提交而不创建新提交?", + "choices": [ + "git undo", + "git rollback", + "git revert -n", + "git reset --soft" + ], + "correctAnswer": "git reset --soft HEAD^" + }, + { + "id": 112, + "question": "'git log --author' 命令的作用是什么?", + "choices": [ + "显示特定作者的提交", + "在单行中显示每个提交的简洁日志", + "显示特定分支的提交历史", + "只显示提交信息的最后一行" + ], + "correctAnswer": "显示特定作者的提交" + }, + { + "id": 113, + "question": "如何在Git中列出所有远程分支?", + "choices": [ + "git remote-branches", + "git list-remotes", + "git branches -r", + "git remote -v" + ], + "correctAnswer": "git branches -r" + }, + { + "id": 114, + "question": "'git cherry-pick' 命令的作用是什么?", + "choices": [ + "将一个分支的更改合并到另一个分支", + "创建新分支", + "撤销最后一次提交", + "删除分支" + ], + "correctAnswer": "将一个分支的更改合并到另一个分支" + }, + { + "id": 115, + "question": "如何查看特定文件的提交历史记录,包括重命名?", + "choices": [ + "git log --follow", + "git log --changes", + "git history --follow", + "git file-history" + ], + "correctAnswer": "git log --follow" + }, + { + "id": 116, + "question": "'git log --oneline --graph' 命令的作用是什么?", + "choices": [ + "在单行中显示每个提交的简洁日志和图形化表示", + "在多行中显示每个提交的详细日志", + "只显示提交信息的最后一行", + "只显示提交信息的第一行" + ], + "correctAnswer": "在单行中显示每个提交的简洁日志和图形化表示" + }, + { + "id": 117, + "question": "如何修改最后一次提交的消息?", + "choices": [ + "git commit --message", + "git change-message", + "git commit --amend -m", + "git edit-commit-message" + ], + "correctAnswer": "git commit --amend -m" + }, + { + "id": 118, + "question": "'git reflog' 命令的作用是什么?", + "choices": [ + "列出所有远程引用", + "显示引用变更的日志", + "删除远程引用", + "创建新的引用" + ], + "correctAnswer": "显示引用变更的日志" + }, + { + "id": 119, + "question": "如何在 Git 中显示两次提交之间的更改,包括文件名和内容?", + "choices": [ + "git diff --name-only", + "git changes --full", + "git log --details", + "git diff --full-index" + ], + "correctAnswer": "git diff --full-index" + }, + { + "id": 120, + "question": "'git submodule' 命令的作用是什么?", + "choices": [ + "合并子模块", + "添加新的子模块", + "删除子模块", + "管理外部项目引用" + ], + "correctAnswer": "管理外部项目引用" + }, + { + "id": 121, + "question": "如何选择特定提交范围的Git cherry-pick?", + "choices": [ + "git cherry-pick range", + "git cherry-pick --range", + "git cherry-pick -r", + "git cherry-pick commit1^..commit2" + ], + "correctAnswer": "git cherry-pick commit1^..commit2" + }, + { + "id": 122, + "question": "'git log --since=2.weeks' 显示什么?", + "choices": [ + "显示最近2周的提交", + "显示2周前的提交", + "显示最近2周的日志", + "显示2周以来的提交" + ], + "correctAnswer": "显示2周以来的提交" + }, + { + "id": 123, + "question": "如何删除远程分支?", + "choices": [ + "git delete-remote-branch", + "git remove-branch -r", + "git push origin --delete branch-name", + "git remote-delete-branch" + ], + "correctAnswer": "git push origin --delete branch-name" + }, + { + "id": 124, + "question": "'git bisect' 命令的作用是什么?", + "choices": [ + "查找两个分支之间的差异", + "在提交之间导航", + "查找引入bug的提交", + "创建仓库的二分副本" + ], + "correctAnswer": "查找引入bug的提交" + }, + { + "id": 125, + "question": "如何创建Git别名?", + "choices": [ + "git alias", + "git config --alias", + "git alias add", + "git config --global alias" + ], + "correctAnswer": "git config --global alias" + }, + { + "id": 126, + "question": "'git log --stat' 显示什么?", + "choices": [ + "在单行中显示每个提交的简洁日志", + "在多行中显示每个提交的详细日志", + "显示特定分支的提交历史", + "显示每个提交的文件更改和插入/删除统计" + ], + "correctAnswer": "显示每个提交的文件更改和插入/删除统计" + }, + { + "id": 127, + "question": "如何重命名Git中的文件并保留其历史记录?", + "choices": [ + "git move", + "git rename", + "git mv", + "git file-rename" + ], + "correctAnswer": "git mv" + }, + { + "id": 128, + "question": "'git clean' 命令的作用是什么?", + "choices": [ + "清理工作目录中未跟踪的文件", + "从仓库中删除所有提交", + "清理被忽略的文件", + "删除远程分支" + ], + "correctAnswer": "清理工作目录中未跟踪的文件" + }, + { + "id": 129, + "question": "如何应用Git补丁的特定部分?", + "choices": [ + "git apply --hunks", + "git patch-apply", + "git apply --selective", + "git apply --check" + ], + "correctAnswer": "git apply --selective" + }, + { + "id": 130, + "question": "'git log --oneline --decorate' 命令的作用是什么?", + "choices": [ + "在单行中显示每个提交的简洁日志和装饰信息", + "在多行中显示每个提交的详细日志", + "只显示提交信息的最后一行", + "只显示提交信息的第一行" + ], + "correctAnswer": "在单行中显示每个提交的简洁日志和装饰信息" + }, + { + "id": 131, + "question": "如何修改最后一次提交的消息?", + "choices": [ + "git commit --message", + "git change-message", + "git commit --amend -m", + "git edit-commit-message" + ], + "correctAnswer": "git commit --amend -m" + }, + { + "id": 132, + "question": "'git log --cherry-pick' 命令的作用是什么?", + "choices": [ + "只显示被cherry-pick的提交", + "cherry-pick最后一次提交", + "创建带有cherry-pick更改的新分支", + "将更改从一个分支合并到另一个分支" + ], + "correctAnswer": "只显示被cherry-pick的提交" + }, + { + "id": 133, + "question": "如何查看特定提交引入的更改,包括文件名和内容?", + "choices": [ + "git show commit", + "git diff commit", + "git changes commit", + "git log commit" + ], + "correctAnswer": "git show commit" + }, + { + "id": 134, + "question": "'git log --before' 命令的作用是什么?", + "choices": [ + "显示特定日期之前的提交", + "显示特定文件的提交历史", + "在单行中显示每个提交的简洁日志", + "显示特定日期之后的提交" + ], + "correctAnswer": "显示特定日期之前的提交" + }, + { + "id": 135, + "question": "如何保存更改?", + "choices": [ + "git stash save", + "git save-stash", + "git stash", + "git stash push" + ], + "correctAnswer": "git stash" + }, + { + "id": 136, + "question": "'git log --merges' 命令的作用是什么?", + "choices": [ + "只显示合并提交", + "只显示非合并提交", + "将更改从一个分支合并到另一个分支", + "创建带有合并更改的新分支" + ], + "correctAnswer": "只显示合并提交" + }, + { + "id": 137, + "question": "如何撤销最后一次提交,保留更改?", + "choices": [ + "git commit --undo", + "git rollback", + "git reset --soft HEAD^", + "git revert --no-commit" + ], + "correctAnswer": "git reset --soft HEAD^" + }, + { + "id": 138, + "question": "'git remote -v' 显示什么?", + "choices": [ + "显示远程分支的详细输出", + "列出所有带URL的远程仓库", + "验证远程仓库URL", + "只显示远程分支名称" + ], + "correctAnswer": "列出所有带URL的远程仓库" + }, + { + "id": 139, + "question": "如何查看Git所有标签?", + "choices": [ + "git list-tags", + "git tags", + "git show-tags", + "git tag -l" + ], + "correctAnswer": "git tag -l" + }, + { + "id": 140, + "question": "'git log --pretty' 命令的作用是什么?", + "choices": [ + "显示可自定义格式的美化日志", + "显示每个提交在一行的简洁日志", + "只显示提交信息的最后一行", + "显示每个提交在多行的详细日志" + ], + "correctAnswer": "显示可自定义格式的美化日志" + }, + { + "id": 141, + "question": "如何在Git中删除远程分支?", + "choices": [ + "git push origin --delete branch-name", + "git branch -d branch-name", + "git remote remove branch-name", + "git delete-remote branch-name" + ], + "correctAnswer": "git push origin --delete branch-name" + }, + { + "id": 142, + "question": "'git log --invert-grep' 命令的作用是什么?", + "choices": [ + "反转grep模式的匹配", + "显示带有grep模式的提交", + "排除带有grep模式的提交", + "在单行中显示每个提交的简洁日志" + ], + "correctAnswer": "反转grep模式的匹配" + }, + { + "id": 143, + "question": "如何修改一次提交而不更改其消息?", + "choices": [ + "git amend --no-edit", + "git commit --amend --no-edit", + "git edit-commit --no-change", + "git modify --no-message" + ], + "correctAnswer": "git commit --amend --no-edit" + }, + { + "id": 144, + "question": "'git log --branches' 命令的作用是什么?", + "choices": [ + "显示所有分支的提交", + "只显示分支名称", + "在单行中显示每个提交的简洁日志", + "显示最后一个分支以来的提交" + ], + "correctAnswer": "显示所有分支的提交" + }, + { + "id": 145, + "question": "如何查看特定提交引入的更改,包括文件名和内容?", + "choices": [ + "git diff commit --side-by-side", + "git show commit --side-by-side", + "git changes commit --side-by-side", + "git log commit --side-by-side" + ], + "correctAnswer": "git show commit --side-by-side" + }, + { + "id": 146, + "question": "如何创建一个Git分支并切换到它?", + "choices": [ + "git branch -s new-branch", + "git switch -b new-branch", + "git checkout --branch new-branch", + "git create-switch new-branch" + ], + "correctAnswer": "git switch -b new-branch" + }, + { + "id": 147, + "question": "'git log --grep -i' 命令的作用是什么?", + "choices": [ + "在提交信息中进行区分大小写的字符串搜索", + "在提交信息中进行不区分大小写的字符串搜索", + "在单行中显示每个提交的简洁日志", + "排除带有指定模式的提交" + ], + "correctAnswer": "在提交信息中进行不区分大小写的字符串搜索" + }, + { + "id": 148, + "question": "如何删除跟踪的文件和目录?", + "choices": [ + "git clean -d -f", + "git remove-untracked", + "git delete-files", + "git purge" + ], + "correctAnswer": "git clean -d -f" + }, + { + "id": 149, + "question": "'git log --graph --all' 命令的作用是什么?", + "choices": [ + "显示所有分支的提交历史的图形化表示", + "在多行中显示每个提交的详细日志", + "只显示提交信息的最后一行", + "为所有分支在单行中显示每个提交的简洁日志" + ], + "correctAnswer": "显示所有分支的提交历史的图形化表示" + }, + { + "id": 150, + "question": "如何标记特定提交?", + "choices": [ + "git create-tag commit-hash", + "git tag -m 'tag message'", + "git tag -a tag-name commit-hash", + "git commit --tag tag-name" + ], + "correctAnswer": "git tag -a tag-name commit-hash" + } + ] +} \ No newline at end of file diff --git a/app/src/main/assets/zh/git_lessons.json b/app/src/main/assets/zh/git_lessons.json index 614a36ee..1d792cf0 100644 --- a/app/src/main/assets/zh/git_lessons.json +++ b/app/src/main/assets/zh/git_lessons.json @@ -1,119 +1,119 @@ { "gitLessons": [ { - "LessonTitle": "Git简介", + "LessonTitle": "Git簡介", "Steps": [ { "StepNumber": 1, - "Description": "什么是G?", + "Description": "什麼是 Git?", "Example": "", - "Explanation": "Git是一种称为版本控制系统的计算机软件。 它有助于人们随时跟踪对计算机代码或其他文本文件所作的更改。\n\n就像你的文件的历史书,这样你可以看到谁做了更改、做了什么以及什么时候做了修改。" + "Explanation": "Git 是屬於一種版本控制系統(電腦軟體)。 它帮助我們追蹤、記錄與控制電腦程式碼或其他文本檔案的任何更改。\n\n它就像檔案版本的歷史書,就可以簡易地看到誰做了更改、做了什麼以及什麼時候做了修改。" }, { "StepNumber": 2, - "Description": "为什么使用它?", + "Description": "為何使用 Git?", "Example": "", - "Explanation": "Git被用来使与其他人合作的项目变得更加容易。 它有助于多个人在相同的文件上进行合作,而不会意外地覆盖对方的工作。\n\n它还允许您在不担心破坏您已经做的事情的情况下尝试新的想法。\n\nGit 对于保持备份和管理不同版本的文件非常棒,这样您就可以在需要时回到以前的状态" + "Explanation": "Git 把合作程序的過程變得更加容易。當有多人合作時不怕會意外地覆蓋別人所作的更改。\n\n使用 Git 時還可以安全地嘗試新想法。\n\nGit也可以存儲備份,用來管理不同的檔案版本,隨時都可以輕易地回到以前的狀態。" }, { "StepNumber": 3, - "Description": "Installing Git", + "Description": "下載 Git", "Example": "git --version", - "Explanation": "Go to the official Git website (https://git-scm.com/) and find the download section.\n\nChoose the version of Git that matches your computer's operating system (like Windows, macOS, or Linux).\n\nOnce the download is complete, open the downloaded file and follow the installation instructions.\n\nAfter the installation is done, you can verify that Git is installed by opening a terminal or command prompt and typing" + "Explanation": "從 Git 的官方網站(https://git-scm.com/)的下載網頁中選出您電腦操作系統的 Git 版本(例如 Windows、macOS、Linux)。\n\n把下載完畢的檔案打開,然後根據具有的 Git 安裝步驟。\n\n安裝完畢後,檢查 Git 是否安裝成功。在您的終端或命令提示符裡輸入" }, { "StepNumber": 4, - "Description": "在您的电脑上设置 Git", - "Example": "git config --global user.name '你的名称'\ngit config --global user.email '你的电子邮件ID'", - "Explanation": "要使用 Git,您首先需要通过设置您的用户名和电子邮件地址,在您的计算机上配置它。 此信息将附加到您在Git中做出的每一项承诺。" + "Description": "在您的電腦設置 Git", + "Example": "git config --global user.name '您的用戶名稱'\ngit config --global user.email '您的電郵地址'", + "Explanation": "使用 Git 前,首先要把它設置好。輸入您的用戶名稱與電郵地址,這兩份資料將會在您的每一個更改提交(commit)中出現(commit 備註信息)。" }, { "StepNumber": 5, - "Description": "😕 Git 和 Github 同样的", + "Description": "😕 Git 和 Github 是一樣的東西嗎?", "Example": "", - "Explanation": "不,Git 和 GitHub 不一样,但它们是相关的概念 \n\nGit 是管理本地版本控制的核心技术。\n\nGitHub 是一个方便存储、分享和在互联网上协作的 Git 仓库的平台。 其他类似的平台包括GitLab 和 Bitbucket 。" + "Explanation": "不對,Git 和 GitHub 雖然有相關的概念,但是他們是不一樣的東西。\n\nGit 是一款版本控制的軟體。\n\n而 GitHub 是一個可以方便存儲、分享和在網絡上協作的 Git 倉庫平臺。除了 GitHub 意以外還有其他類似的平臺,例如 GitLab 和 Bitbucket。" } ] }, { - "LessonTitle": "Git 基础知识", + "LessonTitle": "Git 的基礎", "Steps": [ { "StepNumber": 1, - "Description": "正在初始化项目", + "Description": "開始項目", "Example": "git init", - "Explanation": "安装Git后,第一步是为您的项目设置版本控制。\n\n打开您的命令行终端或 Git Bash (如果您在Windows上),并导航到您想要启动项目的目录。\n\n使用以下命令初始化一个新的 Git 仓库" + "Explanation": "安裝了 Git 後就可以開始設置您項目的版本控制系統。\n\n先打開您的電腦終端、命令提示符或 Git Bash(Windows 方面),然後去到您要使用 Git 的檔案目錄。\n\n利用以下的指令來初始化一個新的 Git 倉庫(Repository)" }, { "StepNumber": 2, - "Description": "创建文件并添加文本", - "Example": "您好。这是我的第一个文件", - "Explanation": "您可以使用您喜欢的任何文本编辑器,如Notepad、Vim、Sublime 或 Visual Studio 代码\n\n创建一个新文件 'hello'。 xt' 然后写下以下文字并保存文件" + "Description": "創建檔案,添加文本", + "Example": "您好。這是我第一個檔案。", + "Explanation": "在您剛初始化的倉庫裡創建一個叫’hello.txt‘的新檔案。\n\n利用 Notepad、Vim、Sublime、VS Code 等類似的文本編輯器,輸入以下的文字,然後保存檔案" }, { "StepNumber": 3, - "Description": "添加和跟踪文件", + "Description": "添加與追蹤檔案", "Example": "git add hello.txt", - "Explanation": "一旦你创建并编辑了你的文件,现在是用Git开始跟踪它的时候了。\n\n要做到这一点,请使用“git 添加 ”命令。" + "Explanation": "檔案創建後,就可以開始用 Git 追蹤了。\n\n利用以下的 ’git add <檔案名稱>‘ 指令,Git 就會開始記錄跟追蹤您的檔案了。" }, { "StepNumber": 4, - "Description": "检查状态", + "Description": "檢查 Git 狀態", "Example": "git status", - "Explanation": "在任何时候,您都可以检查您的存储库的状态,以查看哪些文件被跟踪、修改或分期提交到下一次提交中。\n\n“git status”命令为您提供了此信息。" + "Explanation": "您可以隨時查看您倉庫的狀態,檢查看看有哪一些檔案有在被追蹤、被更改或被暫存(stage)到下一個提交裡。\n\n使用“git status”指令就可以看到這些資料了。" }, { "StepNumber": 5, - "Description": "作出提交", + "Description": "提交所作的更改", "Example": "git commit -m \"my first commit\"", - "Explanation": "在Git中的提交代表了您项目在某个时间点的快照。\n\n是一种记录您的更改并提供您所做工作的有意义描述的方法。\n\n要做出承诺,您需要使用以下命令" + "Explanation": "Git 提交就是指您項目在某個時候的快照,就像之前提到的歷史書。\n\n它可以輕易地記錄下您所作過的更改還有一段備註信息來描述所作的更改\n\n使用以下的指令來作出提交" }, { "StepNumber": 6, - "Description": "下一步是什么?", + "Description": "下一步呢?", "Example": "", - "Explanation": "🎉 恭喜!您已经覆盖了Git的基础知识。\n\n当您继续使用Git进行旅程时,您将会了解更多关于分支、合并等的信息。\n\n并且不要忘记Git文档和在线教程是深化您理解的极好资源。" + "Explanation": "🎉 恭喜!您現在已經學會了 Git 的基礎知識。\n\n您繼續使用 Git 的過程是將會遇到分支、合併等的其他 Git 服務。\n\nGit 的官方文檔和其他網上的教程可以深化您對 Git 的瞭解和知識。" } ] }, { - "LessonTitle": "吉特分支", + "LessonTitle": "Git 分支", "Steps": [ { "StepNumber": 1, - "Description": "什么是Git分支?", + "Description": "什麼是分支(branch)?", "Example": "", - "Explanation": "Git分支是一个单独的开发线路,您可以在不影响主代码库的情况下在项目的不同部分工作。\n\n这对于协作和管理多个功能、错误修复或实验特别有用。\n\n分支帮助隔离更改,使其更容易审查、测试和整合到主代码库中。" + "Explanation": "Git分支是一個從主線(main/master)分離出來的開發路線。這一條單獨的路線跟主線分離了之後就可以安全地在這裡做不同部分的工作,不怕會影響到主線的內容。\n\n這對每次協作工程非常地有用處,大家可以同時做錯誤修改、管理各種功能或實驗新功能。\n\n分支能幫助隔離不同的更改,讓您可以容易地審查與修改,然後加入主線裡。" }, { "StepNumber": 2, - "Description": "创建分支", + "Description": "創造分支", "Example": "git branch feature-login", - "Explanation": "若要创建一个新分支,请使用你想要创建的分支的名称后面的“git分支”命令。" + "Explanation": "使用以下的“git branch”指令來創造一個新的分支,然後在後面加上您要的名稱。" }, { "StepNumber": 3, - "Description": "切换分支", + "Description": "切換分支", "Example": "git checkout feature-login", - "Explanation": "要切换到新分支,请使用git checkout”或“git switch”命令,然后使用分支的名称。" + "Explanation": "使用以下的“git checkout”或“git switch”指令,加上您的分支名稱來切換到另一個分支。" }, { "StepNumber": 4, - "Description": "[Shortcut] 创建并切换分支", + "Description": "[快捷] 創造了直接切換分支", "Example": "git checkout -b feature-signup", - "Explanation": "若要在一个命令中创建并切换到新分支,请使用 \"git 结帐-b \"。" + "Explanation": "有個快捷可以讓您用一個指令來創造然後字節切換到新的分支裡。利用以下的“git checkout -b <分支名稱>”指令:" }, { "StepNumber": 5, - "Description": "合并分支", - "Example": "git 结帐主\ngit 合并功能——登录", - "Explanation": "一旦你对你的分支所做的更改感到满意,现在是将这些更改合并到主代码库的时候了。\n\n要做到这一点,请切换到主分支并使用“git合并”命令。" + "Description": "合併分支", + "Example": "git checkout main\ngit merge feature—login", + "Explanation": "當您已經做完您要的更改,您就可以把這個分支合併到主線了。\n\n先切換到主線然後使用以下的“git merge”指令就可以把分支合併到主線了。" }, { "StepNumber": 6, - "Description": "删除分支", + "Description": "刪除分支", "Example": "git branch -d feature-login", - "Explanation": "在运行此命令之前,请确保您已经合并了您想要删除的分支的所有更改。\n\n若要删除一个分支,请使用 `git branch` 命令,然后使用 `-d` 选项。\n\n如果您需要强制删除分支,请使用 \"-D\" 旗帜而不是 \"-d\"。" + "Explanation": "當你已經完全地把更改都合併如入主線後,您就可以把分支刪除掉。請確保您已經把全部更改都合併了。\n\n使用“git branch”指令,再加上“-d”旗標。\n\n如果您需要強制刪除分支,請使用“-D”旗標而不是 “-d”。" } ] }, @@ -223,4 +223,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/app/src/main/res/strings.xml b/app/src/main/res/strings.xml new file mode 100644 index 00000000..e87e9198 --- /dev/null +++ b/app/src/main/res/strings.xml @@ -0,0 +1,68 @@ + + + Git+ Coach + + 你好空白片段 + 初始化 Git + 初始化当前或指定目录中的 Git 存储库。 + git init + 搜索指令... + 增加您的 Git 知识 + 1 + 什么是 Git 及其使用原因 + Git 是一个分布式版本控制系统,用于管理和跟踪源代码的更改。 它帮助开发者在项目上进行合作,并保持代码所有更改的历史。 + git config --global user.name \'John Doe\'\ngit config --global user.email \'johndoe@example.com\' + Git 进度 + 提升你的Git技能 + 完成课程 + 报告错误 + 建议 + 评分 + 分享 + v%1$s + 开启 + 关闭 + 示例 + 每日通知(%1$s) + 源代码 + 联系我 + 抱歉,程序一崩溃。.\n\n您是否想要提出崩溃报告? + 崩溃报告 + 发送 + 取消 + 字体大小设置 + 预览 + 标题 + 指令 + 描述 + 保存 + 重置为原设置 + 英文 (Default) + 意大利文 + 语言设置 + 俄文 + 西班牙文 + 葡萄牙文 + 德文 + 考考自己 + 测验 | 学习 | 优秀 + 提升您的技能 + 开始测验 + 指定文件的提交历史该使用什么命令? + git log + 检查答案 + 下一题 + 完成 + %1$d/%2$d + 简体中文 + 繁体中文 + 土耳其文 + 联系我 + Vishal Singh + 一个来自印度的激情程序家,拥有3年以上的 Android 工程经验。同时熟练掌握 Rust 和后端程序 + 跟随我 + 致谢 + 上次测验成绩 + 10 + 其他 APP + \ No newline at end of file diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index ceef4ed9..cc2facd6 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -3,65 +3,66 @@ Git+ Coach 你好空白片段 - 非化Git - 初始化当前或指定目录中的 Git 存储库。 + 初始化Git + 初始化當前或指定目錄中的 Git 存儲庫。 git init - 搜索命令... - 增加您的 Git 知识 + 搜索指令… + 提高您的 Git 知識 1 - 什么是 Git 及其使用原因 - Git 是一个分布式版本控制系统,用于管理和跟踪源代码的更改。 它帮助开发者在项目上进行合作,并保持代码所有更改的历史。 + 什麼是 Git 及其使用原因 + Git 是一種分佈式版本控制系統,用於管理和跟蹤源代碼的更改。 他幫助工程師在項目上進行合作,並保持代碼所有更改的歷史。 git config --global user.name \'John Doe\'\ngit config --global user.email \'johndoe@example.com\' - Git 进度 - 变换你的Git技能 - 完成课程 - 报告错误 - 建议 - 给我们评分 - 分享应用程序 + Git 進度 + 提高您的 Git 技能 + 完成課程 + 報告錯誤 + 建議 + 評分 + 分享 v%1$s - 打开 - 关闭 + 開啟 + 關閉 示例 每日通知(%1$s) - 源代码 - 联系开发者 - Sorry, An unexpected error occurred.\n\nDo you want to send a crash report to the developer? - 崩溃报告 - 发送 + 源代碼 + 聯繫我 + 抱歉,程序已崩潰。\n\n您要提出崩潰報告嗎? + 崩潰報告 + 發送 取消 - 字体大小设置 - 预览 - 标题 - 命令 + 字體大小設置 + 預覽 + 標題 + 指令 描述 保存 - 重置为默认值 - English (Default) - Italian - 语言设置 - Russian - Spanish - Portuguese - German - 测验 - 测试 | 学习 | Excel + 重置為原設置 + 英文 (Default) + 意大利文 + 語言設置 + 俄文 + 西班牙文 + 葡萄牙文 + 德文 + 考考自己 + 測驗 | 學習 | 優秀 提升您的技能 - 开始测验 - 指定文件的提交历史使用了什么命令? - git 日志 - 检查答案 - 下一个问题 + 開始測驗 + 指定文件的提交歷史該使用什麼指令? + git log + 檢查答案 + 下一題 完成 %1$d/%2$d - 简体中文 - 土耳其语 - 关于开发者 - 维沙尔·辛德 - 一个来自印度的激情开发者,拥有3年以上的 Android 开发经验。同时熟练掌握Rust 和后端开发 - 跟随我 - 致谢 - 上次测验结果 + 簡體中文 + 繁體中文土耳其文 + 聯繫我 + Vishal Singh + 一未來之印度的激情程序家,擁有三年以上的 Android 工程經驗。同時熟練掌握 Rust 和後端程序 + 跟隨我 + 致謝 + 上次測驗成績 10 - More Apps + 其他 APP