[GIT]分支常用操作

分支允许我们在不同的方向上工作,而不影响主分支。如果项目中不同的功能或修复位于不同的分支上,便可以单独开发、测试,并在必要时合并回主分支。

1. 创建分支

当开始一个新功能或想要实验某些东西时,可以创建一个新的分支。假设已经初始化了一个 Git 仓库或克隆了一个现有的仓库,可以使用以下命令创建并切换到一个新的分支:

1
git checkout -b <branch-name>

例如,如果正在开发一个新的功能

1
git checkout -b feature-new-functionality

此命令会同时创建一个名为 feature-new-functionality 的新分支,并切换到该分支。

2. 在分支上工作

在新分支上,可以进行正常的开发工作,例如添加文件、修改代码等。所有这些更改都会存储在这个分支上,不会影响其他分支。

查看当前所在的分支,使用以下命令:

1
git branch

它会列出当前仓库中的所有分支,当前所在分支会标记一个星号(*)。

3. 提交更改

在分支中完成了一些更改后,和使用 Git 的常规工作流程一样,需要将这些更改添加到暂存区,并提交到本地仓库:

1
2
git add <files>
git commit -m "Add new functionality to the project"

4. 切换分支

可以在不同的分支之间切换,而不会丢失任何工作。假设正在 feature-new-functionality 分支上工作,但现在想回到 main 分支查看项目的稳定版本,可以使用以下命令切换分支:

1
git checkout main

Git 会切换到 main 分支,同时保留 feature-new-functionality 分支上的所有工作。

5. 合并分支

当在一个分支上完成了某个功能,并且经过测试后决定将它合并到 main 分支(或其他分支)时,可以使用以下命令进行合并操作:

  1. 首先,切换到想要合并到的分支(例如 main):

    1
    git checkout main
  2. 然后,合并工作的分支:

    1
    git merge feature-new-functionality
  3. 如果合并时有冲突(即两个分支修改了相同的文件部分),Git 会提示进行冲突解决。解决冲突后,可以再次提交解决后的版本:

    1
    2
    git add <resolved-files>
    git commit -m "Resolve merge conflicts"

6. 删除分支(可选)

当一个分支的工作完成并成功合并后,可以选择删除这个分支,以保持仓库整洁:

1
git branch -d feature-new-functionality

如果分支没有合并到其他分支,而还是想删除它,可以使用 -D 强制删除:

1
git branch -D feature-new-functionality

7. 推送分支到远程仓库

如果想将本地分支推送到远程仓库(例如 GitHub),可以使用以下命令:

1
git push origin <branch-name>

例如:

1
git push origin feature-new-functionality

这会将新分支推送到远程仓库。团队中的其他成员也可以在远程仓库中看到这个分支,并进行协作。

8. 拉取远程分支

当在远程仓库中发现其他人创建的分支时,可以将它拉取到本地,进行协作:

1
2
git fetch
git checkout <branch-name>

例如:

1
2
git fetch
git checkout feature-other-developer

9. 使用 Git 分支的最佳实践

  • 主分支保持稳定:通常,mainmaster 分支应保持稳定。可以在其他功能分支中进行实验或开发,当确认无误后再合并回主分支。
  • 小而频繁的提交:在分支上工作时,进行小而频繁的提交有助于更好地追踪进展和更容易地解决冲突。
  • 定期同步主分支:如果功能分支开发周期较长,建议定期将 main 分支中的更新合并到功能分支,以避免较大的冲突。

[GIT]分支常用操作
https://erlsrnby04.github.io/2024/10/21/GIT-分支常用操作/
作者
ErlsrnBy04
发布于
2024年10月21日
许可协议