赞
踩
在 git 中分支是 git 工作流的核心概念。我们知道它是一个分布式版本控制系统,允许多个开发人员在分布式环境中同时处理单个项目。git 中的分支有助于开发人员在保持稳定性的同时独立工作。每个开发人员都可以通过创建不同的分支来开发软件的任何功能,最后,所有分支都可以合并以获得生成的软件产品。
要应用分支的概念,我们应该了解 git 中的基本命令,例如:
命令 | 功能 |
---|---|
git 初始化 | 用于创建本地的新 git 存储库 |
git 添加 | 用于将未跟踪的文件添加到暂存区域 |
git 提交 | 用于将暂存更改提交到远程 git 存储库 |
Git 状态 | 用于显示工作目录和暂存区域的当前状态 |
git push origin master | 用于将提交的更改推送到远程存储库的 main/master 分支。 |
分支是 git 中的一个概念,它允许我们从主分支中发散并继续以孤立的方式工作,而不会弄乱主分支。在 git 中,每个分支都是任何存储库的一个版本,或者我们可以将其称为独立的开发线。任何存储库都可以有多个分支,每个分支都有不同版本的存储库。分支在许多方面都有帮助;首先,我们可以以隔离的方式处理任何特定功能,而不会干扰主分支上的工作。这样一来,错误修复的开发也将得到促进,并且错误会更少,因为维护部分工作比让大型分支拥有所有代码更容易。分支还有助于维护代码库的稳定性。
要在 git 中创建分支,我们可以使用以下命令:
git branch <new_branch_name>
当您想要开发新功能时,可以使用命令 git branch new_branch_name 创建一个与主分支不同的分支。
如果要显示存储库中的分支总数,则可以使用以下命令:
git branch
上面的命令将显示存储库中的所有本地分支,以及我们当前所在的分支名称前面标记的 * 符号。
要在存储库的不同分支之间切换,我们可以使用以下命令:
git checkout <branch_name>
在这里,我们可以提供我们想要结账的分行的名称。
在命名分支时,我们应该遵循一些最佳实践:
1. 避免分支名称过长:
分支名称应简短、解释性强且信息丰富。冗长而详细的分支名称不被认为是一种好的命名方式。
2. 使用连字符(-)或下划线(_)作为分支名称中不同单词之间的分隔符:
您可以使用连字符、下划线、斜杠或任何分隔符来区分分支名称中的单词。它有助于提高可读性,使其易于理解而不是混淆。
例如:如果没有分隔符分支,名称 addednewfeature 的可读性较差且更令人困惑,并且通过使用分隔符added_new_feature,它很容易理解。
3. 避免仅使用数字作为分支名称:
使用数字作为分支名称不是一个好的做法,因为它需要更易于理解,并增加混淆和错误风险。
例如,12345 作为分支名称没有任何意义,并且会导致错误。
4. 以类别词开头的分支名称:
为了提高效率并确定 Git 分支的目的,我们可以在分支名称前面添加类别词,例如 BUG(它将表明正在特定分支中完成修复 bug 的工作)、FEATURE(它将表明新功能的工作正在进行中), WIP(将显示工作正在进行中)
Git 提供了一种非常好的方法来可视化分支,这有助于我们了解存储库中各个分支的流程和状态。
我们可以使用命令
git log --graph --simplify-by-decoration --pretty=format:'%d' --all
可视化分支树。
该命令的输出如下图所示:
从当前分支创建 git 分支的最常见和最流行的方法是:
git branch <branch_name>
如果要切换到新创建的分支,可以调用:
git checkout <branch_name>
除了上述两个命令之外,还有一个替代命令,它有助于创建一个新分支并自动打开该新分支。
git checkout -b <branch_name>
要从不同的分支创建一个新分支,我们可以编写:
git checkout -b <new_branch_name> <different_branch_name>
在上面的命令中,将 new_branch_name 替换为新分支的名称,different_branch_name替换为已存在的特定不同分支的名称;它是需要从中创建新分支的分支。
Git commit 是用于在特定时间拍摄 git 存储库暂存更改的快照的命令,git log 是用于查看给定存储库的提交历史记录的命令。日志中的每个提交都有一个唯一的提交 ID、有关作者的信息、时间戳以及与提交关联的消息或描述。我们可以转到特定版本并开始我们的工作,从而创建一个单独的分支,在特定版本上创建分支或提交 git 存储库的命令是:
git branch <new_branch_name> <commit_id>
这种方法主要在我们想去以前的提交或存储库的某个版本以在那里添加一些新功能或处理一些错误时有用。
要检出到新创建的分支,我们可以使用以下命令:
git checkout <new_branch_name>
git 中的标签是 git 仓库历史中的一个特定点,主要用于将提交标记为相关且不可更改。当您希望将该点创建为代码的稳定发布版本时,它们非常有用。
要从标签创建一个 git 分支,我们可以首先使用以下命令创建一个标签:
git tag <tag_name>
然后,我们可以使用以下命令从该标签创建一个分支:
git branch <branch_name> <tag_name>
要检出到这个新分支,我们可以写:
git checkout <branch_name>
分离的 HEAD 状态是签出特定提交的位置,但该提交不是分支的一部分。
要使用该 Detached HEAD 创建分支,我们可以首先使用以下命令检出该提交:
git checkout commit_id
提交 ID 是使用安全哈希算法生成的唯一加密数字。可以通过使用 git log 命令获取 git 仓库中的提交历史来获取,我们可以选择要使用的提交的提交 id。
检出提交后,我们可以使用以下命令创建一个分支:
git branch <new_branch_name>
要签出到新分支,您可以编写:
git checkout <new_branch_name>
要从远程分支创建本地分支,我们可以首先使用以下命令创建一个新的远程分支:
git remote add <remote_name> <url_of_the_repository>
然后,我们可以将远程存储库的更改获取到本地,以便它可以使用以下命令获取远程分支的详细信息:
git fetch <remote_name>
然后,要从远程分支创建本地分支,我们可以编写:
git branch <new_branch_name> <remote_name>/<remote_branch_name>
要签出到新分支,您可以编写:
git checkout <new_branch_name>
众所周知,我们可以使用以下命令创建一个本地分支:
git checkout -b <local_branch_name>
然后,签入此当前本地分支后,我们可以将其发布到远程 git 存储库中。为此,我们可以使用 push 命令:
git push -u <remote_name> <local_branch_name>
在这里,标志 -u 维护本地分支和新的远程分支之间的跟踪关系。在上面的命令中,<local_branch_name>将替换为现有本地分支的名称。
虽然分支为我们提供了一种以独立方式处理不同功能的好方法,但最好在完成后删除分支。
Git 不允许你删除当前所在的分支,因此你需要签出到另一个分支才能删除当前分支。
如果您有两个分支,一个是 developer_local 分支,一个是 main 分支,并且想要删除 developer_local 分支,则可以先使用以下命令签出“main”分支:
git checkout main
现在,要删除分支,我们可以使用以下命令:
git delete -d <branch_name>
在此示例中,我们可以使用:
git delete -d developer_local
这将删除developer_local分支。您也可以使用 git branch 命令进行检查。这对于列出项目存储库中的当前本地分支非常有用。
带有 git delete 命令的 -d 选项只会删除已推送并合并到远程分支的分支。但是,如果要强制删除分支,即使更改尚未推送或合并,也可以使用以下命令:
git delete -D <branch_name>
此命令将强制删除本地分支。
现在,如果要删除远程分支,则可以提及远程分支的名称,并使用以下命令删除分支:
git push <remote_name> --delete <branch_name>
此命令将远程删除分支。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。