网站首页 > 技术文章 正文
在使用 git pull 命令拉取服务器代码时,不同的需求会有不同的用法。具体说明一些使用实例如下。
只拉取当前branch的信息
执行 git pull 命令默认会拉取远端服务器上的改动、以及各个 branch 和 tag 的信息。当远端服务器上有新增的 branch 或 tag,就会拉取到,并打印出来,有时候会打印很多这些信息。
如果想要只拉取当前 branch 的信息,需要加上远端服务器的仓库名和分支名作为参数。例如,将远端服务器 origin 仓库的 master 分支合并到本地当前 branch,可以执行下面的命令:
注意:这里的分支名是要拉取的远端服务器分支名,不是本地的分支名。
如果还要不拉取 tag 信息,可以再加上 --no-tags 选项:
使用这种方法更新代码,即使远端服务器上有新增的 branch,在本地执行 git branch -r 命令也不会看到新增的 branch。
在 bash 上输入时,可以使用 Tab 键来自动补全远端服务器仓库名,输入远端服务器仓库名后,再继续使用 Tab 键来提示要拉取的远端服务器分支名。
git pull 命令的选项顺序导致报错问题
实际使用 git pull 的时候,遇到这样一个问题,当把 --stat 选项写在 --no-tags 选项后面时,执行会报错:
但是把 --stat 选项和 --no-tags 选项的顺序调换,再执行 git pull 命令就不会报错:
即,--stat 选项必须写在 --no-tags 选项前面,否则 git pull 就会报错。查看 man git-pull 的帮助说明,对此说明如下:
More precisely, git pull runs git fetch with the given parameters and calls git merge to merge the retrieved branch heads into the current branch. With --rebase, it runs git rebase instead of git merge.
Options meant for git pull itself and the underlying git merge must be given before the options meant for git fetch.
而 --stat 是 git merge/git rebase 的选项,--no-tags 是 git fetch 的选项。基于上面说明,merge 选项必须写在 fetch 选项前面。所以当 --stat 选项写在 --no-tags 选项后面时,git pull 会报错,它应该是把 --stat 选项传给 git fetch 命令处理,但是 git fetch 命令没有这个选项,导致报错提示 "unknown option"。
猜你喜欢
- 2024-11-07 Git基本操作流程(git 基本操作)
- 2024-11-07 Git 应该用 fetch 还是 pull(git push和fetch)
- 2024-11-07 git 常用命令(git常用命令详解)
- 2024-11-07 git基本用法(git常用)
- 2024-11-07 Git fetch和git pull的区别(git fetch git pull)
- 2024-11-07 【干货】常用的Git命令有哪些?(git常用操作命令 简书)
- 2024-11-07 git常用命令(git常用命令提交)
- 2024-11-07 git 提交代码的简单指令(git提交代码步骤图解merge)
- 2024-11-07 工作流一目了然,看小姐姐用动图展示10大Git命令
- 2024-11-07 说说Git常用的命令有哪些?(git 常用)
- 1507℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 495℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 484℃MySQL service启动脚本浅析(r12笔记第59天)
- 463℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 462℃启用MySQL查询缓存(mysql8.0查询缓存)
- 442℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 421℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 418℃MySQL server PID file could not be found!失败
- 最近发表
- 标签列表
-
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- chromepost (65)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- checkout-b (67)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- linux删除一个文件夹 (65)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)