发布时间:2026-07-09 14:21:11
原来是git中的checkout命令承载了分支操作和文件恢复的部分功能,有点复杂,并且难以使用和学习,所以社区解决将这两部分功能拆分开,在git 2.23.0中引入了两个新的命令switch和restore用来取代checkout。 From: https://zhuanlan.zhihu.com/p/259385054新的switch命令用来接替checkout的功能,但switch不能切换到commit i.........【阅读全文】
发布时间:2026-03-30 14:41:47
一句话git reset:git reset 是“把 HEAD/当前分支指针 移到某个提交”,并且顺便根据 --soft / --mixed / --hard 决定 暂存区(index/stage) 和 工作区(working tree) 要不要一起跟着变。git reset --soft <target> (<target> 可以是 HEAD~1、某个 commit id、某个 tag 等)? 只移动 HEAD/分支指针? 暂存区不变? .........【阅读全文】
发布时间:2021-03-08 19:38:03
git checkout [branch_remote]从远程分支 checkout 出来的本地分支,称为_跟踪分支(tracking branch)_。跟踪分支是一种和远程分支有直接联系的本地分支。在跟踪分支里输入git push,Git 会自行推断应该向哪个服务器的哪个分支推送数据。反过来,在这些分支里运行git pull 会获取所有远程索引,并把它们的数据都合并到本地.........【阅读全文】
发布时间:2021-03-08 19:22:10
git checkout [tag]1. 正确用法 From: git branch --helpgit checkout -b my_branch tag_remote == git branch my_branch tag_remote + git checkout my_branch通常用于,如想基于v1.0 tag 节点,修改部分代码,并编一个版本。 PS0:如上的tag标签名,对应到help中就是<start point>, 而help中也说了<start po.........【阅读全文】
发布时间:2021-03-07 19:48:36
git fetch origin master //从远程库origin的master分支下载代码到本地, 且更新本地所关联的远程库分支的commit id(.git\refs\remotes\origin\master), 并不会自动合并或修改当前工作. 远程仓库名origin, 并不是指远程仓库, 而是指远程仓库在本地的一个指针(这个指针时会过期的).git merge origin/master //把远程.........【阅读全文】