简介
🧑💻 刚接触 Git 或 LabEx?我们建议从 Git 快速入门 课程开始。
Git 是一个强大的版本控制系统,它允许开发者跟踪对其代码库所做的更改。Git 的一个有用特性是能够将提交从一个分支移动到另一个分支。当你意识到你在 master 分支上所做的某些更改应该在一个单独的分支上进行时,这会很有帮助。在这个实验中,你将学习如何将提交从 master 分支移动到一个新分支。
将提交移动到新分支
对于这个实验,让我们使用来自 https://github.com/labex-labs/git-playground 的仓库。你一直在 master 分支上处理一个项目。你意识到你所做的一些更改应该在一个单独的分支上进行。你想将这些更改移动到一个名为 feature 的新分支上。
- 克隆仓库,导航到该目录并配置身份:
git clone https://github.com/labex-labs/git-playground
cd git-playground
git config --global user.name "你的用户名"
git config --global user.email "你的邮箱"
- 检出
master分支:
git checkout master
- 创建一个名为
hello.txt的文件,在其中添加 "hello, world",将其添加到暂存区并使用消息 "添加了 hello.txt" 提交:
echo "hello,world" >> hello.txt
git add.
git commit -m "添加了 hello.txt"
- 创建一个名为
feature的新分支但不切换到它。当你在master分支上创建一个新分支时,新分支的状态与master分支相同,即新分支中的文件与master分支中的文件相同,具有相同的内容和版本历史:
git branch feature
- 撤销
master上的最后一次提交:
git reset HEAD~1 --hard
- 检查
master分支上的提交历史和feature分支上的提交历史以验证结果:
git log
git checkout feature
git log
这是运行 git log 的结果:
commit 7969ab5d6606e2a40c9fd826c732206b835976e9 (HEAD -> feature)
Author: xiaoshengyunan <@users.noreply.github.com>
Date: Fri Jul 21 20:19:22 2023 +0800
添加了 hello.txt
总结
在使用 Git 时,将提交从一个分支移动到另一个分支可能是一项有用的功能。在这个实验中,你学习了如何使用 git branch、git reset 和 git checkout 命令将提交从 master 分支移动到一个新分支。请记住,只有当更改仅在本地提交而未推送到远程时,此方法才有效。