将提交移动到新分支

GitGitBeginner
立即练习

This tutorial is from open-source community. Access the source code

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

Git 是一个强大的版本控制系统,它允许开发者跟踪对其代码库所做的更改。Git 的一个有用特性是能够将提交从一个分支移动到另一个分支。当你意识到你在 master 分支上所做的某些更改应该在一个单独的分支上进行时,这会很有帮助。在这个实验中,你将学习如何将提交从 master 分支移动到一个新分支。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL git(("`Git`")) -.-> git/BranchManagementGroup(["`Branch Management`"]) git/BranchManagementGroup -.-> git/branch("`Handle Branches`") subgraph Lab Skills git/branch -.-> lab-12742{{"`将提交移动到新分支`"}} end

将提交移动到新分支

对于这个实验,让我们使用来自 https://github.com/labex-labs/git-playground 的仓库。你一直在 master 分支上处理一个项目。你意识到你所做的一些更改应该在一个单独的分支上进行。你想将这些更改移动到一个名为 feature 的新分支上。

  1. 克隆仓库,导航到该目录并配置身份:
git clone https://github.com/labex-labs/git-playground
cd git-playground
git config --global user.name "你的用户名"
git config --global user.email "你的邮箱"
  1. 检出 master 分支:
git checkout master
  1. 创建一个名为 hello.txt 的文件,在其中添加 "hello, world",将其添加到暂存区并使用消息 "添加了 hello.txt" 提交:
echo "hello,world" >> hello.txt
git add.
git commit -m "添加了 hello.txt"
  1. 创建一个名为 feature 的新分支但不切换到它。当你在 master 分支上创建一个新分支时,新分支的状态与 master 分支相同,即新分支中的文件与 master 分支中的文件相同,具有相同的内容和版本历史:
git branch feature
  1. 撤销 master 上的最后一次提交:
git reset HEAD~1 --hard
  1. 检查 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 branchgit resetgit checkout 命令将提交从 master 分支移动到一个新分支。请记住,只有当更改仅在本地提交而未推送到远程时,此方法才有效。

您可能感兴趣的其他 Git 教程