Module 02 · Git Commands and Managing GitHub ProjectsGit 命令与 GitHub 项目管理
Hands-on Lab: Getting Started with Branches using Git Commands动手实验:使用 Git 命令操作分支入门
预计所需时间: 25 分钟
目标
完成本实验后,你将能够使用 Git 命令操作本地仓库中的分支,包括:
- 使用
git init创建新的本地仓库 - 创建文件,并使用
git add将其添加到仓库 - 使用
git commit提交更改 - 使用
git branch创建分支 - 使用
git checkout切换分支 - 使用
git status检查已修改文件的状态 - 使用
git log查看最近的提交 - 使用
git revert撤销更改 - 使用
git branch获取分支列表及当前活动分支 - 使用
git merge将活动分支中的更改合并到另一个分支
先决条件
本实验设计为在 Skills Network Cloud IDE 中运行。该云端集成开发环境(Cloud IDE)运行于云中的 Linux 系统,并已安装 Git。如果你打算在自己的系统中完成实验,请确保已安装 Git(Linux 或 macOS)或 Git Bash(Windows)。请检查登录凭据是否有效,并确保网络连接稳定、浏览器受支持。如果遇到问题,可以尝试清除缓存/cookies 后重试。
初始化:打开新的终端窗口
在 IDE 中打开终端窗口,以便输入 shell 和 Git 命令。
- 点击本说明面板右侧的
Terminal菜单,然后点击New Terminal。

- 这会在底部新增一个终端窗口,你可以在其中开始输入命令。

练习 1:创建新的本地仓库
- 在终端中运行以下
mkdir命令,创建myrepo目录。
mkdir myrepo

2. 运行以下命令,进入 myrepo 目录。
cd myrepo
- 使用
git init命令,将myrepo目录初始化为 Git 仓库。
git init
- 本地 Git 仓库现已初始化,其中的
.git文件夹包含所有 Git 文件。你可以在终端窗口中运行以下命令,列出目录内容以验证。.前缀会使 Git 目录隐藏。-la选项以长列表形式显示隐藏的 Git 目录中所有文件的访问权限、创建时间及其他详细信息。
ls -la .git
输出显示 .git 子目录的内容,其中包含 Git 服务器所需的全部信息。

练习 2:创建文件并添加到本地仓库
- 使用以下
touch命令,创建名为newfile的空文件。
touch newfile
- 使用以下
git add命令,将此文件添加到仓库。
git add newfile

练习 3:提交更改
- 提交更改前,你需要告诉 Git 你的身份。使用以下命令即可完成设置。将“you@example.com”替换为你登录 GitHub 所用的邮箱地址,将 Your Name 替换为你的姓名。
请注意,邮箱和姓名必须放在引号内。
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
- 现在,可以使用以下
git commit命令提交更改。
请注意,提交需要一条提交信息,可以使用
-m参数提供。
git commit -m "added newfile"

练习 4:创建分支
- 上一次提交创建了一个名为
master的默认主分支。 - 要继续修改仓库,请在本地仓库中创建新分支。在终端中运行以下
git branch命令,创建名为my1stbranch的分支。
git branch my1stbranch
练习 5:获取分支列表和活动分支
- 运行以下
git branch命令,查看仓库中的分支列表。
git branch
- 请注意,输出列出了两个分支:默认的
master分支,其旁边的星号*表示它是当前活动分支;以及新创建的my1stbranch。

练习 6:切换到其他分支
- 现在要在新分支中进行更改,运行以下
git checkout命令,将其设为活动分支。
git checkout my1stbranch
- 运行以下
git branch命令,验证新分支现已成为活动分支。
git branch
- 请注意,星号
*现在位于my1stbranch旁边,表明它已成为活动分支。

有一种快捷方式:你可以在 git checkout 命令后加上
-b选项,一步完成创建分支并使其成为活动分支,而无需先用git branch创建分支,再用git checkout切换。
git checkout -b my1stbranch
练习 7:修改分支并检查新增或修改文件的状态
- 在名为
my1stbranch的新分支中进行一些更改。首先在终端中运行以下命令,向newfile追加字符串“Here is some text in my newfile.”。
echo 'Here is some text in my newfile.' >> newfile
- 运行以下
cat命令,验证文字已添加。
cat newfile

3. 使用以下命令,再创建一个名为 readme.md 的文件。
touch readme.md
- 使用以下
git add命令,将它添加到仓库。
git add readme.md
- 到目前为止,你在新分支中编辑了
newfile,并添加了名为readme.md的文件。使用git status命令,可以轻松验证当前分支中的更改。
git status
git status命令的输出显示,文件readme.md已添加到分支中,并已准备好提交,因为你使用git add添加了它。但是,尽管你修改了newfile,却没有明确使用git add添加它,因此它尚未准备好提交。

- 添加所有修改和新增文件的一种快捷方式,是使用以下带星号
*的git add命令。这也会将修改后的newfile添加到分支中,使其准备好提交。
git add *
- 再次检查状态。
git status
- 输出现在显示,这两个文件都可以提交了。

练习 8:提交并查看提交历史
- 更改现已准备就绪,可以使用以下提交命令将其保存到分支中,并用提交信息说明所做的更改。
git commit -m "added readme.md modified newfile"
- 运行以下
git log命令,查看最近的提交历史:
git log
- 日志显示了最近两次提交:最后一次提交到
my1stbranch,以及之前提交到master的一次提交。

注意:要退出
git log命令,只需按“Q”键。这会关闭日志视图并返回命令提示符。
练习 9:撤销已提交的更改
- 有时,你可能在充分测试更改之前就提交了它们,这可能带来不理想的后果。可以使用如下
git revert命令撤销更改。
你可以指定前面日志输出中的提交 ID,也可以使用简写HEAD撤销最后一次提交:
git revert HEAD --no-edit
注意:如果不指定
--no-edit标志,可能会出现编辑器界面,显示包含待撤销更改的提交信息。此时,同时按下Control(或 Ctrl)和X键。
- 输出显示,指定 ID 的最近一次提交已撤销。

练习 10:将更改合并到另一个分支
- 使用以下命令,在当前活动分支
my1stbranch中再进行一次更改。
touch goodfile
git add goodfile
git commit -m "added goodfile"
git log
- 日志输出显示,新添加的
goodfile已提交到my1stbranch分支:

注意:要退出
git log命令,只需按“Q”键。这会关闭日志视图并返回命令提示符。
- 现在,将
my1stbranch的内容合并到master分支。首先,需要使用以下git checkout命令使master成为活动分支。
git checkout master
- 将
my1stbranch中的更改合并到 master。
git merge my1stbranch
git log
- 输出和日志显示分支已成功合并。

- 更改已合并到
master分支,现在可以使用以下带-d选项的git branch命令删除my1stbranch:
git branch -d my1stbranch
练习 11:自主练习
- 创建名为
newbranch的新目录和分支 - 将
newbranch设为活动分支 - 创建名为
newbranchfile的空文件 - 将新创建的文件添加到你的分支
- 提交
newbranch中的更改 - 撤销最后一次提交的更改
- 创建名为
newgoodfile的新文件 - 将最新的文件添加到
newbranch - 提交更改
- 将
newbranch中的更改合并到master
总结
在本实验中,你学习了如何使用 Git 命令在本地仓库中创建和操作分支。在后续实验中,你将学习如何将本地仓库中的更改与远程 GitHub 仓库同步。