电视盒的确切作用是啥?(寻求准确答案)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了电视盒的确切作用是啥?(寻求准确答案)相关的知识,希望对你有一定的参考价值。
现在好多人买电脑都一起买电视盒,听说那样就可以看电视了。请问各位,电视盒具体的作用是什么?它是否只起到信号转换(数字信号转化成模拟信号?)的作用呢?是否要有闭路线才能看呢?如果我家的闭路线用电视机只能收到四个台,那么电脑接电视盒以后也只能看到四个台而已吗?还有,不开主机就可以看吗?
不是机顶盒,是接电脑显示器的电视盒。拒绝拷贝粘贴!
【【==》闭路线有多少台就能收到多少台???电视卡也一样吗?
还有哪个地方的信号是数字信号?哪里又是模拟信号?
电视卡顾名思义就是通过PC机来看电视,让你的电脑变成数码录像机,它不仅可以看电视还可以把你录像带通过AV接口转换成MPEG格式,刻录成VCD/DVD;根据电视卡的接口芯片高频头来决定它的性能和价格,一般接口多的要比接口少的贵(芯片调频头相同),市场目前最常见有CONXANTPHLIPS两大主流芯片商,高频头有原装PHLIPSLGTCL;PHLIPS高频品质最好,价格也是最贵的。如预约录像多画面预览等这都是软件实现,几乎所有的电视卡的功能都差不多。
编辑本段电视卡分类
电视卡是一种笼统的简称,分为四种:1.电视盒,2.PCI电视卡,3.USB电视盒,4.视频转换盒。
电视盒:盒状,有VGA接口,可与计算机的显示器直接连接,不须接计算机。有天线接口,面板的按钮有电视调台的相关功能,性能指标有:电视接收台数/分辨率/遥控否/带音箱否/支持夜晶否。
PCI电视卡: 插在计算机的PCI插槽中,使计算机上看电视,一般具有采集录象功能,有的还可制作VCD。性能指标有:接口/输入信号/视频捕捉文件格式/电视接收台数/分辨率/遥控否。
USB电视盒:插在计算机的USB插槽中,使计算机上看电视,一般具有采集录象功能,有的还可制作VCD。性能指标有:接口/输入信号/视频捕捉文件格式/电视接收台数/分辨率/遥控否。
视频转换盒:一头插在计算机的VGA槽中,一头用AV或S端子与电视连接,使计算机的内容显示在电视上。性能指标有:接口/分辨率/遥控否。
编辑本段电视卡相关术语
设备连接接口
VGA口是指显示器接口15针。
PCI接口是指计算机主板上用来插板卡的一种接口,即所谓的“内置”。
USB接口即插即用的扁形小口。奔2以上的机器才有。
1394口又叫DV口又叫火线口。一般只有数字摄像机才有,极个别电视卡也有这种接口,如:美如画影视三冠王等产品,这种接口的信号最好。
输入/输出接口
AV口又叫复合口或音视频口或模拟口,用于传输音视频信号一般电视机、摄像机、录像机都有,一般压缩卡、非线编卡都有这种接口,但这接口的信号较差。
S端子又叫Y/C接口或高清晰度电视接口一般电视机、摄像机、录像机都有,一般压缩卡、非线编卡都有这种接口,但这接口的信号比AV口好。
1394口又叫DV口又叫火线,即是设备连接接口又是输入/输出接口。
相关操作
采集:就是指把电视机等设备的音视频的模拟信号录入到计算机等设备里去,一般保存的文件格式为AVI。图像质量损失较小,但文件特别大。
压缩:就是指把电视机等设备的音视频信号录入到计算机等设备里去。同时压缩保存,叫做硬压。随后通过软件压缩保存,叫做软压。图像质量损失根据压缩格式、输入格式等变化。
编辑:就是指把电视机等设备的音视频信号录入到计算机等设备里去,对保存计算机里的影音文件进行添加字幕声音或进行特行加工。
影音文件格式
AVI:用于Windows平台上的一种文件格式,图像质量损失较小,但文件特别大。
VCD:又叫MPEG1,质量较好,用于Windows平台和家用的VCD机上播放的一种文件格式。
DVD:又叫MPEG2,质量最好,用于Windows平台和家用的DVD机上播放的一种文件格式。
MPEG4:质量一般,用于Windows平台和internet上播放的一种文件格式,是流媒体的一种,类似的还有RM格式。
编辑本段电脑电视卡选购全功略
如果你只想通过电脑屏幕看电视,不需要采集到计算机上,那你可买电视盒,可与计算机的显示器直接连接,非常方便。
如果你希望把电视节目录制在电脑上,那你可买电视卡,不仅可以在电脑上收看电视节目,还可以把你自己喜爱的节目制作VCD,是你家庭的最佳伴侣。
如果你想把计算机的内容直接显示在电视上的话,那你就选视频转换盒,一般用在单位演示,商场。
对于许多PC用户而言,PC已经成为他们的个人多媒体娱乐中心,用PC听音乐、看VCD/DVD、玩游戏、上网、聊天。至少在目前Internet 带宽仍然极为有限的情况下,电视仍然是大众娱乐的主要方式。但是,很多已经花了大价钱购买PC的朋友实在舍不得再花上一笔钱去买一台电视机了。
这样一块价值500元左右的电视卡就成为PC玩家的最佳投资(对于喜欢看电视的玩家而言,例如笔者使用的就是品尼高的电视卡)。
以前的ISA接口电视卡必须要与显示器串接,优点是直接将信号输入显示器,不受显卡的兼容性限制;缺点是会影响画质,而且看电视时必须要强制切换到全屏幕,无法一边工作,一边看电视,而现今PCI接口电视卡的好处就是采用窗口模式,可以挂在后台。前台继续进行其他工作。电视卡几乎都有内附遥控器,只要将小小的红外线接收器摆好,接上电视卡的接头即可使用,没啥兼容性的问题。电视卡还可以用计算机录制下电视的节目,也可以截取单张影像,刻录在光盘上或是放置在硬盘内。
目前的PCI电视卡绝大部分都采用韩国制造的BookTree BT878芯片。选台器(电视卡上接驳CATV Cable的那个金属盒子)也大多是Philips的。各家工艺不同,板卡的品质肯定有高低之分。笔者将主要详细介绍三款PCI电视卡,顶坚的SOHO TV Pro、UPMOST(登昌恒)的UPT-200以及ATi的ATi TV Wonder,读者可以借鉴参考、举一反三,就能买到称心如意的产品了。
顶坚SOHO TV Pro
这块卡采用BrookTree BT-878芯片,PCI插槽,附遥控器,建议售价在500元以下,大约450元左右即可拿到,算是目前市面上最便宜的一款PCI电视卡。顶坚SOHO TV Pro的包装盒内除了电视卡本身,驱动程序光盘以及中文说明手册外,其余的配件就如图1所示,一只遥控器,红外线接收器,以及与声卡Line-in串接用的连接线一条,非常简单。
这块电视卡所使用的PCB板是黑色的,看起来相当的有质感,选台器(那个金属盒子)厂牌则不明。
我们可以看到,这块电视卡的主芯片是BT878,笔者取的图片可能有些不清楚,但是这并不重要,比较特殊的地方是图3的上方,我们可以看到一块小电路板,上面打着SONY的品牌,这个部分是美规的MTS(Multi Television Sound),也就是Stereo/SAP的译码器,有个“SONY”的字样看起来就是不一样。
图4是这块电视卡的接口部分,我们可以看到最左边的地方有个空位,这原本是收音机的天线接头,厂商可能为了节约成本而取消了,但是依然留了个难看的空洞。接下来我们依序可以看到Cable接头、音频输出、S端子输入、音频输入、AV端子输入,以及红外线接收器的接头,其中音效输出接头是用来接到声卡的Line-In的,这样才能通过声卡输出电视音效,并且在录像时才会包含声音的录制。
这张电视卡的播放软件,采用窗口模式(Overlay模式),默认画面大小320×240 RGB24模式,窗口最大可以到640×480,当然也可以全屏幕播放。影像窗口的大小可以随意调整,高兴怎么拉都可以。
第一次使用必须要先扫描一次频道,可以为不同的频道自订频道的名称,至于“频率微调”选项,可以调节图像的清晰度。
这块电视卡的录像功能无法设定时间预录,只能手动录像,这对于电视迷来讲肯定是较难接受的。必须注意的是每秒帧数必须设定为30,这样才不会丢帧。使用硬盘录像,显然需要压缩后存储。驱动程序提供了一些视频压缩格式的CODEC,如Intel Indeo(Video R3.2、Microsoft Video1、Booktree YUV等等。最令人失望是音频的录制不能压缩,只能以未经压缩的PCM格式来录制,以44.1KHz 16bit立体声为例,一小时就要占据大约600MB的硬盘空间,显然难以让人接受。
这块电视卡的播放程序也包含了广播节目的选台器,不过因为硬件上把这部分的功能去除了,所以空有软件也是没用,实际上顶坚这块电视卡的播放软件是没有经过任何修改的公版软件,还是比较粗糙的。
图6播放的截图,我们可以看到,静态的画质没啥好挑剔的,但是动态画面中会有类似POWERDVD的横线情况发生,这问题是BT系列芯片的通病,近看的时候有时候蛮刺眼的,远一点看的话则是毫无影响。
UPMOST(登昌恒)UPT-200
这块卡同样的也是采用BT878系列芯片,附赠遥控器,以及CyberLink Media@Show SE版(多媒体播放软件),这张电视卡还具有收音机的功能,建议售价600元,实际500元左右也能买到。
包装内除了电视卡外,有中文的手册及驱动程序光盘(内含CyberLink Media@Show SE版),并且有跟顶坚SOHO TV Pro几乎一模一样的遥控器。SOHO因为本身并不具备收音机的功能,故遥控器也没有相关的按钮,遥控器的型号是MS-002,而UPT-200具有收音机的功能,所以遥控器的左上角多出了TV-FM的切换按钮,型号则为MS-001。除此之外,两只遥控器可说是一模一样的。另外还有红外线接收器,以及音频线。音频线较顶坚的粗,因为本卡具有收音机的功能,所以内含了一条收音机天线,以及RF-RCA的转接头。
这块卡的PCB板属于深咖啡色,比起黑色的PCB板看起来一点都不逊色,基本上两种板子的颜色看起来是差不多的。我们注意到,这块卡的设计与顶坚的SOHO TV Pro看起来几乎是一模一样的,不同之处在于UPT-200的选台器上有收音机天线的接收端,但却少了SOHO TV Pro上的那块SONY的MTS电路板,除此之外,连接头的排列都一样,真令人怀疑是不是同一个娘生的孩子。
UPT-200的芯片与SOHO TV Pro的芯片其实并不太一样,虽然是同一家的BT-878系列芯片,但笔者阅读了该公司的技术资料发现,UPT-200所采用的878A芯片较SOHO TV Pro的878KHF来得新,功能上也有所不同,新版的878A具有DTV的译码功能,这是相当特殊的一点,笔者详细地阅读该公司的FAQ后发现,基本上878A完全对应旧版的878芯片,价格上也差不多,客户可以依自己的产品需求选择要拿878A做模拟或数字电视卡都行,也可以依软件的不同来选择是否要开启DTV的功能。
挡板最左边可以看到一个RCA接头,是用来接收音机天线的,不过这条收音机天线是用RF接头的,所以多附了一个RF-RCA的转接头,也许是为了安装方便吧。
接下来是画质的比较,笔者看到接上收音机天线后,这块卡的画质明显的不如顶坚的SOHO TV Pro来的清晰锐利,还有噪声参杂其中,这是因为内建收音机的电视卡画质都会受到影响。把收音机天线拔掉后,画质马上看得出来有明显的提升,但仍不敌顶坚的SOHO TV Pro, UPT-200看起来明显的比较模糊,不那么的锐利。另外UPT-200跟SOHO TV Pro比起来,音量明显的变小了,声音部分的噪声比较高,可以很明显的听出其中的差异,噪声的部分我们可以归咎为天线的干扰(即使没把天线插上去),音量部分也许是跟SOHO TV Pro上的那块SONY MTS有关系,笔者认为SOHO TV Pro的音质表现是比较好的。
ATi TV Wonder
这块卡来自加拿大名牌大厂,售价大概是750元,算是比较高端的产品。
整块卡看起来体积稍微大了点,选台器部分是使用Philips的高频头,芯片依然是使用我们熟知的8T878KHF,PCB板的布局看起来就与先前介绍的两块电视卡有不小的差异,尤其是卡上方的CD In/CD Out接头,虽说是用来串接CD-ROM音频线的,一般人应该都不会这么做,不过这接线有个很好用的地方,直接将卡上的CD Out拉到声卡的CD In接头,电视卡与声卡就完成串接了,不需要通过外部的Line In/Out,看起来舒服,音质也会比外部串接线来的好些。
挡板上的接头比前两块卡少,只有Line In/Out,AV/S端子输入,以及有线电视电缆(CATV Cable)接头,没有收音机及遥控器接头。
ATi-TV Wonder的配件不多,但是就是跟人家不太一样,除了Line In/Out连接线,还附了一个小麦克风转 RCA接头,两条CD音频线。
然而光是好看不能代表一切。看看这个程序的功能,还真不是一般的丰富,最特别的是它的“影像壁纸”功能。这一功能非常有趣,它可以在播放软件最小化的时候,将电视内容转变为桌面上的壁纸,完全不会影响正常桌面及其它程序的运作。可以一边工作,一边看壁纸电视。
更加实用的是它的时间表功能,可以指定任何时间,任何周期进行录像或是观看任意一个频道节目的功能。 ATi这款卡的价格偏高。其中有个重要的原因是内附了MPEG-1压缩软件,而且是完全整合的。MPEG-1的压缩有许多的选项可以设定,根据您所需的画质或是录像时间来进行设置。 ATi TV Wonder的音量相当的大,听起来低音部分很足。
作为名牌厂商,大家最关心的画质肯定是有保障的,实际上经过测试,这部分的表现的确相当好,胜出前两块测试的电视卡。虽然不及DVD,不过比VCD可是强了很多。
ATi-TV Wonder虽然较其他电视卡来得贵,但是不论是效能表现还是软件的丰富性、实用性都有它的价值所在,算起来一点都不贵,不过少了遥控器功能真的是很遗憾。 参考技术A 电视盒是针对电脑显示器来的。
为有电脑但又不想买电视的人准备的。这样可以省不少钱。
它内部并没有什么转换,就像电视机一样的
显示器+电视盒+音箱=电视机,根据这个你应该能明白吧。
不用开机,可以看电视,当然你的闭路有多少台,它就显示几个台
电视卡是插在电脑主板上的,需要开机才能看的
如果你那里是数字信号的,你还需要购买数字机顶盒,估计你那里还不是,如果是要换数字信号的时候,广电总局会给你提供这个机顶盒的本回答被提问者采纳 参考技术B 可以接收闭路信号,还能通过外置天线来观看无线节目,内置299个频道储存空间在同类产品算是比较出色的,另外它还支持AV输入输出功能,可以让你的各种家用视频播放设备在PC显示器上轻松实现画面还原;它还有一个十分贴心的设计,那就是附带了与PC相连接的视频、音频线,你使用这些连线将电视盒与PC连接后,再将显示器、音箱接到电视盒上,那就可以在使用PC的时候随时切换到电视画面了. 参考技术C 我也来答答
据我了解
1,电视盒具体的作用是什么?
电视盒目前流行的有两种,一种是USB电视盒,这种电视盒须要电脑并开机插到电脑上的USB接口上,它只能在电脑显示器上看,并且要用其所配的软件才可以.
另一种是单盒子,也就是电视盒主机,这种只要开电视盒就可以直连接到你的空闲显示器上看了.相对方便有空闲显示器而且没电视机的朋友.
还有一种是叫电视卡,要拆电脑机箱装,像装内显卡一样,这种就不多说了.
2,它是否只起到信号转换(数字信号转化成模拟信号?)的作用呢?
不能转换,因为它只是一台电视机.
3,是否要有闭路............就可以看吗?
说白了就是电视盒与显示器组合等于一台电视机,只要有电视信号输入就可以看,没有信号输入它也只是一台电视机,也就是说你家的天线(有线,机顶盒)输出有多少个台就是多少个台.不会帮你加台的.
4,还有,不开主机就可以看吗?
USB要开电脑主机,另一种,就只开你的电视盒就行了.
5,补充的.
用机顶盒的是数字电视,没机顶盒的是模拟信号(包括架天线). 参考技术D 电视盒用来在显示器上看电视节目。有闭路线才能看。闭路线有多少台就能收到多少台,电视盒不用开主机就可以看,如果用电视卡就要开主机才能看。
git中“我们的”和“他们的”的确切含义是啥?
【中文标题】git中“我们的”和“他们的”的确切含义是啥?【英文标题】:What is the precise meaning of "ours" and "theirs" in git?git中“我们的”和“他们的”的确切含义是什么? 【发布时间】:2014-10-23 22:42:04 【问题描述】:这听起来可能是一个太基本的问题,但我已经搜索过答案,现在比以前更困惑了。
当我的分支合并到我的另一个分支时,“我们的”和“他们的”在 git 中是什么意思? 两个分支都是“我们的”。
在合并冲突中,“我们的”总是显示两个版本中的上一个吗?
“我们的”是否总是指合并开始时 HEAD 指向的分支?如果是这样,那么为什么不使用像“当前分支”这样的明确所有格引用,而不是使用像“我们的”这样的指称不明确的所有格代词(因为两个分支在技术上都是我们的)?
或者只是使用分支名称(而不是说“我们的”,而是说“本地主人”之类的)?
对我来说最令人困惑的部分是如果我在特定分支的 .gitattributes 文件中指定。假设在 test 分支 我有以下 .gitattributes 文件:
config.xml merge=ours
现在我结帐并将 HEAD 指向 master,然后合并到 test。既然 master 是我们的,而 test 的 .gitattributes 并没有检出,那它还会有效果吗?如果确实有效果,既然 master 现在是“我们的”,那会发生什么?
【问题讨论】:
另见:Who is "us" and who is "them" according to Git? 我有一个答案,在那里我详细解释了什么是 us / ours 和 them / 他们的以及他们的意思/他们如何改变git merge
、git cherry-pick
、git rebase
和git revert
。
见鬼。想出这个名字的人应该是在淘气的凳子上;这太模棱两可了。
天啊,谢谢你发布这个。想出这个名字的人也很困惑。
【参考方案1】:
只是澄清一下 -- 如上所述,当 rebase 意义是相反的,所以如果你看到
<<<<<<< HEAD
foo = 12;
=======
foo = 22;
>>>>>>> [your commit message]
使用 'mine' 解决 -> foo = 12
使用“他们的”解决 -> foo = 22
【讨论】:
【参考方案2】:我会在这里发布我的备忘录,因为我必须一次又一次地回到这里。
场景 1. 普通开发者:您是无法合并到 master
并且只能使用 feature
分支的开发者。
案例 1:master is a king. 你想刷新你的 feature
分支(= rebase 到 master
),因为 master
包含新的依赖更新并且你想覆盖你的小小改变。
git checkout master
git pull
git checkout feature
git rebase -X ours master
案例 2:您是国王。您希望将 feature
分支更改为 master
更改。但是你比你的同事做得更多,并且想优先使用你自己的更改。
git checkout master
git pull
git checkout feature
git rebase -X theirs master
重要提示:如您所见,普通开发人员应该更喜欢rebase
,并且每天早上重复它,就像练习/喝咖啡一样。
场景 2. Merging-sensei:您是团队负责人,想要合并其他分支并将合并的结果直接推送给 master。 master
是您将更改的分支。
案例一:master为王你想合并第三方分支,但master
优先。 feature
是你前辈做的一个分支。
git checkout feature
git pull
git checkout master
git merge -X ours feature
案例 2:新变化为王 当您的高级开发人员发布了一个很酷的 feature
并且您想覆盖 master
分支中的旧 s**t。
git checkout feature
git pull
git checkout master
git merge -X theirs feature
记住:要记住在午夜选择哪一个:master
总是 ours
。而theirs
是他们的feature
。
【讨论】:
注意:-X
表示 --strategy-option
并允许支持来自 theirs
或 ours
的代码【参考方案3】:
没有确切的含义,正是因为这些术语的含义相反,具体取决于您是合并还是变基。考虑两个分支的自然方式是“我的工作”和“别人的工作”。选择模糊此分类的术语绝对是 git 中最糟糕的设计选择。它一定是受到会计的“贷方”和“借方”或“资产”和“负债”的启发——同样令人头疼。
【讨论】:
我不同意,有一个精确的意思:“我们的”意思是“HEAD 在哪里”,在合并或变基中:***.com/a/2960751/6309 “HEAD 在哪里”是一个以工具为中心而非以用户为中心的概念。这正是问题所在。 我现在明白你的观点了。您是对的,尽管从这个角度来看(工具与用户),确实有很多有问题的设计决策。有些正在改进:git checkout
vs. git switch
/git restore
浮现在脑海中。【参考方案4】:
我知道它没有解释含义,但我给自己做了一个小图像,作为提醒使用哪一个的参考:
希望对你有帮助!
PS - 还要检查Nitay's answer中的链接?
【讨论】:
我花了太长时间阅读这些巨大的答案书籍,您的形象虽然不完美,但以更简洁的方式对我进行了近乎完美的解释。版本 2 可以在此上下文中直观地使用 HEAD 一词的解释 感谢赞美!我很高兴它帮助了其他人,因为它在视觉上帮助了我!我省略了 HEAD 因为它是与时间相关的信息,是特定时刻的指针。我想通过这张图片给出一个“永恒”的观点;尽管我认为对于 git 新人来说掌握起来并不明显。为了解释/显示HEAD,我需要为每个git ..
命令显示一个(在checkout
s 之后,merge
之后,rebase
之后);恕我直言,这可能会导致图像更加混乱;所以我理所当然地认为一个人已经具备 history、HEAD、checkout、merge 和变基.【参考方案5】:
来自git checkout
的用法:
-2, --ours checkout our version for unmerged files
-3, --theirs checkout their version for unmerged files
-m, --merge perform a 3-way merge with the new branch
解决合并冲突时,您可以使用git checkout --theirs some_file
和git checkout --ours some_file
将文件分别重置为当前版本和传入版本。
如果您已完成 git checkout --ours some_file
或 git checkout --theirs some_file
并希望将文件重置为文件的 3 路合并版本,您可以执行 git checkout --merge some_file
。
【讨论】:
【参考方案6】:我知道这个问题已经得到解答,但是这个问题让我困惑了很多次,我建立了一个小型参考网站来帮助我记住: https://nitaym.github.io/ourstheirs/
以下是基础知识:
合并:
$ git checkout master
$ git merge feature
如果要选择master
中的版本:
$ git checkout --ours codefile.js
如果要选择feature
中的版本:
$ git checkout --theirs codefile.js
变基:
$ git checkout feature
$ git rebase master
如果要选择master
中的版本:
$ git checkout --ours codefile.js
如果要选择feature
中的版本:
$ git checkout --theirs codefile.js
(当然,这是完整的文件)
【讨论】:
那个网站非常有用。流程图样式和颜色编码的文字使网站比 SO 答案更容易理解。谢谢。 谢谢,这是我正在寻找的简单示例解释。其他答案过多地谈论了您可能会感到困惑的原因,以及这些术语的含义等等,以至于答案本身变得令人困惑。 这个答案是黄金。每次在 rebase 合并冲突期间我必须做我们/他们的事情时,我都会继续回答这个问题。【参考方案7】: 我们的:这是你目前所在的分支。 他们的:这是你的行动中使用的另一个分支。因此,如果您在分支 release/2.5 上并将分支 feature/new-buttons 合并到其中,那么在 release/2.5 中找到的内容 是 ours 所指的内容,feature/new-buttons 上的内容是 theirs 所指的内容。在合并操作期间,这非常简单。
大多数人会遇到的唯一问题是rebase case。如果您执行 re-base 而不是正常的合并,则会交换角色。怎么样?好吧,这完全是由变基的工作方式引起的。想想 rebase 像这样工作:
-
自上次拉取以来您所做的所有提交都将移至它们自己的分支,我们将其命名为 BranchX。
您签出当前分支的负责人,丢弃任何本地
您所做的更改,但这样可以检索其他人为该分支推送的所有更改。
现在,BranchX 上的每个提交都会按照从旧到新到当前分支的顺序进行精心挑选。
BranchX 再次被删除,因此永远不会出现在任何历史记录中。
当然,这并不是真正发生的事情,但对我来说这是一个很好的思维模型。如果你看一下 2 和 3,你就会明白为什么现在角色互换了。从 2 开始,您当前的分支现在是来自服务器的分支,没有任何更改,所以这是 ours(您所在的分支)。您所做的更改现在位于一个不同的分支上,而不是您当前的分支 (BranchX),因此这些更改(尽管是您所做的更改)是 他们的(另一个您的操作中使用的分支)。
这意味着如果你合并并且你希望你的更改总是获胜,你会告诉 git 总是选择“我们的”,但是如果你变基并且你希望你的所有更改总是获胜,你告诉 git 总是选择“他们的” ”。
【讨论】:
【参考方案8】:我怀疑您在这里感到困惑,因为它从根本上令人困惑。更糟糕的是,当您进行变基时,整个我们/他们的东西都会转换角色(变回)。
最终,在git merge
期间,“我们的”分支指的是您要合并的分支到:
git checkout merge-into-ours
“他们的”分支是指您要合并的(单个)分支:
git merge from-theirs
这里“我们的”和“他们的”是有道理的,因为即使“他们的”可能无论如何都是你的,“他们的”不是你在运行git merge
时在上的那个.
虽然使用实际的分支名称可能很酷,但在更复杂的情况下它会崩溃。例如,您可以这样做:
git checkout ours
git merge 1234567
您通过原始提交 ID 合并的位置。更糟糕的是,您甚至可以这样做:
git checkout 7777777 # detach HEAD
git merge 1234567 # do a test merge
在这种情况下,没有分支名称涉及!
我认为这里帮助不大,但实际上,在gitrevisions
syntax 中,您可以在冲突合并期间按编号引用索引中的单个路径
git show :1:README
git show :2:README
git show :3:README
Stage #1 是文件的共同祖先,stage #2 是目标分支版本,stage #3 是您要合并的版本。
“我们的”和“他们的”概念在rebase
期间被交换的原因是,rebase 的工作原理是通过一系列的挑选,进入一个匿名分支(分离的 HEAD 模式)。目标分支是匿名分支,merge-from 分支是您的原始(预变基)分支:所以“--ours”表示正在构建的匿名变基,而“--theirs”表示“我们的分支正在变基” .
至于 gitattributes 条目:它可能有效果:“我们的”在内部实际上意味着“使用第 2 阶段”。但正如您所注意到的,它当时实际上并没有到位,所以它不应该在这里产生影响......好吧,除非你在开始之前将它复制到工作树中。
另外,顺便说一句,这适用于我们和他们的所有用途,但有些是在整个文件级别(-s ours
用于合并策略;git checkout --ours
在合并冲突期间),有些是在一个片段上逐个(-X ours
或-X theirs
在-s recursive
合并期间)。这可能对任何混淆都没有帮助。
不过,我从来没有为它们想出更好的名字。并且:参见 VonC's answer 的另一个问题,git mergetool
为这些引入了更多名称,称它们为“本地”和“远程”!
【讨论】:
天啊。谢谢托雷克。我正处于一个变基的中间,我不明白为什么我对分支的更改不在 @torek,这一定是我遇到的对此最好的解释之一。感谢您在此回复中付出如此多的思考和努力,这非常有帮助。【参考方案9】:Git 中的 'ours' 指的是原始工作分支,它具有 git 历史的权威/规范部分。
“他们的”指的是保存工作的版本,以便成为rebased(更改将重播到当前分支)。
这似乎被替换为那些不知道进行变基(例如git rebase
)实际上是暂停您的工作(这是他们的)以重播规范的人/main 历史是我们的,因为我们将我们的更改重新定位为第三方工作。
git-checkout
的文档在 Git >=2.5.1 中根据f303016
commit 得到进一步澄清:
--ours
--theirs
从索引中检查路径时,检查阶段 #2 ('ours') 或 #3 ('theirs') 用于未合并的路径。
请注意,在
git rebase
和git pull --rebase
期间,“我们的”和“他们的”可能会互换;--ours
给出了更改被重新定位到的分支中的版本,而--theirs
给出了包含正在被重新定位的工作的分支的版本。这是因为
rebase
用于将远程历史记录视为共享规范历史的工作流中,并将在您正在变基的分支上完成的工作视为要集成的第三方工作,并且您在 rebase 期间暂时担任规范历史的守护者的角色。作为规范历史的保存者,您需要从远程查看历史记录为ours
(即“我们共享的规范历史”),而您在分支上所做的工作为theirs
(即“一位贡献者在最重要的”)。
对于git-merge
,解释如下:
我们的
此选项强制通过支持我们的版本来干净地自动解决冲突的大块。与我们这边不冲突的另一棵树的更改会反映到合并结果中。对于二进制文件,全部内容都取自我们这边。
这不应与 ours 合并策略混淆,后者甚至根本不查看其他树包含的内容。它丢弃了其他树所做的一切,声明我们的历史包含其中发生的一切。
他们的
这与我们的相反。
此外,这里解释了如何使用它们:
合并机制(
git merge
和git pull
命令)允许使用-s
选项选择后端合并策略。一些策略也可以采用自己的选项,可以通过将-X<option>
参数传递给git merge
和/或git pull
来传递。
所以有时会让人感到困惑,例如:
git pull origin master
其中-Xours
是我们的本地分支,-Xtheirs
是他们的(远程)分支
git pull origin master -r
其中-Xours
是他们的(远程),-Xtheirs
是我们的
所以第二个示例与第一个示例相反,因为我们将分支重新定位在远程分支之上,因此我们的起点是远程分支,我们的更改被视为外部。
git merge
策略类似(-X ours
和 -X theirs
)。
【讨论】:
这个答案似乎过时了 => "git merge --ours" 不是一个有效的选项 @AlexanderMills 答案没有提到git merge
,而是以git pull
和git checkout
为例。如果您想将此参数与git merge
一起使用,则应使用-X ours
。对于git checkout
,您仍然可以使用--ours
语法。我已经进一步澄清了答案。
您对变基方式向后的解释非常有道理,我可能不用谷歌搜索就能记住它。谢谢你!以上是关于电视盒的确切作用是啥?(寻求准确答案)的主要内容,如果未能解决你的问题,请参考以下文章