发布于 2026-01-06 4 阅读
0

你可能不知道的 9 个 Git 分支实用技巧

你可能不知道的 9 个 Git 分支实用技巧

这篇文章最初发表在GitBetter电子报上。如果您有兴趣提升 Git 使用技能,可以订阅该电子报。

列出所有已合并到特定分支的分支

git branch --merged <respective_branch_name>

Example
git branch --merged master

上述命令将帮助您找到所有已与分支合并的分支。


快速切换到上一个分支

git checkout -

这将切换到您之前检出的分支。

替代方案

git checkout @{-1} // checks out to previous branch

git checkout @{-2} // checks out to second previous branch

列出所有分支,按最近提交次数排序。

git branch --sort=committerdate

上述命令将按提交时间的先后顺序列出分支。因此,您可以查看最近使用最多的分支。

这是一个非常有用的命令,在处理多个分支时尤其方便。

在上面的例子中,develop 分支拥有最新的提交记录,master 分支拥有第二新的提交记录,依此类推。


删除本地和远程分支

git branch -d <branch_name>

只有当分支与父分支合并时,此命令才会删除该分支。

git branch -D <branch_name>

无论分支是否已合并,此命令都会将其删除。

要删除远程分支,您可以使用

git push origin <branch_name> -d

-d属性也会删除远程分支。


显示分支之间的差异

我们在之前的两期中已经见过这个命令了。

git log master..develop

此命令可以帮助您显示develop分支中所有未出现在 master 分支中的提交。这样,您就可以知道 develop 分支新增了多少 master 分支中没有的提交。请确保在进行比较之前,本地已更新了这些更改。


重命名分支名称

git branch -m <old_name> <new_name>

Example
git branch -m development develop

上述命令将重命名本地分支名称。

要将更新后的分支名称推送到远程仓库,

git push origin :old_name new_name

Example
git push origin :development develop

列出远程分支

git branch -a

此命令将列出所有本地和远程分支。

仅列出远程分支

git branch -r

这些命令可用于查看哪些远程分支仍然存在于本地,以便您可以将其删除。

我的意思是,即使远程分支被删除,本地机器上仍然会有对它的引用。

要删除本地所有远程引用,您可以使用

git remote prune origin

列出包含特定提交哈希值的分支

git branch --contains <commit-hash>

Example
git branch --contains f9456ba

上述命令将列出所有包含指定提交哈希值的分支。

显示当前分支中所有尚未合并到父分支的提交。

git cherry -v <parent_branch>

Example
git cherry -v master

上述命令将列出当前分支中所有尚未合并到相应分支的提交。

感谢阅读 :)

这篇文章最初发表在GitBetter电子报上。如果您有兴趣提升 Git 使用技能,可以订阅该电子报。

文章来源:https://dev.to/srebalaji/9-useful-tricks-of-git-branch-you-might-not-know-4d0e