[GIT]分支常用操作
分支允许我们在不同的方向上工作,而不影响主分支。如果项目中不同的功能或修复位于不同的分支上,便可以单独开发、测试,并在必要时合并回主分支。
1. 创建分支
当开始一个新功能或想要实验某些东西时,可以创建一个新的分支。假设已经初始化了一个 Git 仓库或克隆了一个现有的仓库,可以使用以下命令创建并切换到一个新的分支:
1 |
|
例如,如果正在开发一个新的功能
1 |
|
此命令会同时创建一个名为 feature-new-functionality
的新分支,并切换到该分支。
2. 在分支上工作
在新分支上,可以进行正常的开发工作,例如添加文件、修改代码等。所有这些更改都会存储在这个分支上,不会影响其他分支。
查看当前所在的分支,使用以下命令:
1 |
|
它会列出当前仓库中的所有分支,当前所在分支会标记一个星号(*
)。
3. 提交更改
在分支中完成了一些更改后,和使用 Git 的常规工作流程一样,需要将这些更改添加到暂存区,并提交到本地仓库:
1 |
|
4. 切换分支
可以在不同的分支之间切换,而不会丢失任何工作。假设正在 feature-new-functionality
分支上工作,但现在想回到 main
分支查看项目的稳定版本,可以使用以下命令切换分支:
1 |
|
Git 会切换到 main
分支,同时保留 feature-new-functionality
分支上的所有工作。
5. 合并分支
当在一个分支上完成了某个功能,并且经过测试后决定将它合并到 main
分支(或其他分支)时,可以使用以下命令进行合并操作:
首先,切换到想要合并到的分支(例如
main
):1
git checkout main
然后,合并工作的分支:
1
git merge feature-new-functionality
如果合并时有冲突(即两个分支修改了相同的文件部分),Git 会提示进行冲突解决。解决冲突后,可以再次提交解决后的版本:
1
2git add <resolved-files>
git commit -m "Resolve merge conflicts"
6. 删除分支(可选)
当一个分支的工作完成并成功合并后,可以选择删除这个分支,以保持仓库整洁:
1 |
|
如果分支没有合并到其他分支,而还是想删除它,可以使用 -D
强制删除:
1 |
|
7. 推送分支到远程仓库
如果想将本地分支推送到远程仓库(例如 GitHub),可以使用以下命令:
1 |
|
例如:
1 |
|
这会将新分支推送到远程仓库。团队中的其他成员也可以在远程仓库中看到这个分支,并进行协作。
8. 拉取远程分支
当在远程仓库中发现其他人创建的分支时,可以将它拉取到本地,进行协作:
1 |
|
例如:
1 |
|
9. 使用 Git 分支的最佳实践
- 主分支保持稳定:通常,
main
或master
分支应保持稳定。可以在其他功能分支中进行实验或开发,当确认无误后再合并回主分支。 - 小而频繁的提交:在分支上工作时,进行小而频繁的提交有助于更好地追踪进展和更容易地解决冲突。
- 定期同步主分支:如果功能分支开发周期较长,建议定期将
main
分支中的更新合并到功能分支,以避免较大的冲突。