git branch -rd remote/branch删除的是什么?

浏览:41日期:2023-09-21

问题描述

git branch -rd remote_name/branch_name删除后提示成功,使用git branch -r得到远程分支列表,没有了分支remote_name/branch_name,再使用git pull发现又从远端获得了分支branch_name,那git branch -rd remote_name/branch_name删除的是什么?

这里给出我的git版本:git versiongit version 2.7.0.windows.1

问题解答

回答1:

git branch -r 操作的是 remote-tracking branch 这个branch依然是你本地的,不过它不能被编辑。譬如当你从一个remote上fetch时,如果在此之前其他人在remote上提交了一个新的分支somebranch,你可能会看到如下的信息:

git fetch originremote: Counting objects: 1, done.remote: Compressing objects: 100% (1/1), done.remote: Total 1 (delta 0), reused 1 (delta 0)Unpacking objects: 100% (1/1), done.[new branch] somebranch -> origin/somebranch

此时你本地多了一个origin/somebranch这个就是一个remote-tracking branch, 然后你可以从中checkout一个出来做你的事情:

git checkout -b sbranch origin/somebranch

删除远程分支只能通过git push的方式。

相关文章: