如何使用Git本地分支local与远程分支master?及相关概念疑问
Git分支概念解答与目标结构实现
一、概念疑问解答
* master:你的猜测完全正确,带*的就是当前正在工作的本地分支,说明你现在处于本地master分支上。origin/HEAD:这是本地保存的远程仓库origin的默认分支指针。Git克隆远程仓库时,会自动识别远程的默认分支(这里是master),然后让origin/HEAD指向它——它就是个标记,用来告诉你远程仓库的默认分支是哪个,本身不影响代码操作。origin/master和master的区别:origin/master是本地仓库缓存的远程master分支镜像副本,记录的是你最后一次和远程同步(拉取/推送)时远程master的状态。- 本地的
master是你直接在本地操作的分支,如果你本地改了代码没推,或者远程有新提交你没拉,这两个分支的内容就会不一样。
二、实现目标分支结构的步骤
要得到你期望的分支状态,按以下步骤操作:
创建并切换到local分支
执行命令直接创建新分支local并切换过去:git checkout -b local或者用Git 2.23+版本支持的更直观命令:
git switch -c local执行后,当前分支就变成
local,git branch -a会显示* local。(可选)删除本地原有的master分支
如果你不需要本地master分支了,可执行删除命令:git branch -d master注意:如果master分支有未合并的修改,Git会阻止删除,此时用
-D可强制删除,但建议先确认已把需要的内容同步到local分支再操作。(可选)移除origin/HEAD的显示
若想让origin/HEAD不再出现在分支列表里,执行命令删除本地对远程HEAD的跟踪记录:git remote set-head origin -d之后再执行
git branch -a,就只会显示* local和remotes/origin/master了。
内容的提问来源于stack exchange,提问作者peace_love
相关产品推荐
相关产品推荐

