来自Git或编辑器的奇怪行为:在结账时添加了符号?

时间:2013-03-06 01:41:06

标签: git

我在分支v上,然后我切换到主分支,然后切换回分支v。当我再次编译时,编译失败,因为我的代码中出现了一个奇怪的符号:

enter image description here

我正在使用OS X Lion和textWrangler的最新版本,我很确定我没有偶然添加它。这是Git或textWrangler的错吗?

更新

合并后添加了一些git:

enter image description here

1 个答案:

答案 0 :(得分:6)

我不认为这是Git的错。你可以通过点击option和一封信来获得这样的字符:

option+s = ß
option+b = ∫
option+c = ç
option+z = Ω
option+d = ∂
option+q = œ

等等。这可能只是一次意外(我每周都会遇到其中一种组合)。

<强>更新

你在第二个例子中看到的是一个冲突标记,而Git绝对会把它放在那里。这意味着,当你将一个分支合并到你当前的分支(也许是从github拉出)时,Git无法弄清楚到底是什么。因此,不是试图猜测哪个分支具有正确的版本,而是使该部分处于冲突状态,表示您的本地更改以及从合并引入的更改。当两个人在两个不同的分支上修改相同的内容时,通常会发生这种情况。

借用this SO answer,假设你有file.txt,合并后你有一个类似的部分:

<<<<<<< HEAD:file.txt
Hello world
=======
Goodbye
>>>>>>> 77976da35a11db4580b80ae27e8d65caf5208086:file.txt

<<<<<<< HEAD=======之间包含的所有内容都是您输入的内容(此部分通常标记为local

=======>>>>>>> 77976da35a11db4580b80ae27e8d65caf5208086:file.txt之间的所有内容都是传入提交中的相同位置(通常标记为remote)。

合并后看到此内容时,您必须通过删除标记(<<<<<<< HEAD:file.txt=======>>>>>>> 77976da)来手动修复文件,并确定要保留的版本;在这种情况下Hello WorldGoodBye,或者您可能希望保留两者。关键是,在两个不同的分支中编辑了相同的内容,Git无法弄清楚如何处理这些内容。

Git是一个令人惊叹的版本控制系统,但与所有工具一样,它可以实现的目标是有限制的。

快速记录一些奇怪的事情;当我在Xcode工作时,我可以去终端,运行我想要的所有git命令,然后立即回到XCode工作。使用 Sublime Text 2 ,我已退出Sublime Text,运行git命令,然后重新打开Sublime Text,否则更改不会像我预期的那样持续存在。我不确定 Text Wrangler ,你会想出那个部分(或者有人可以发表评论)。

关于Git的一些链接:

相关问题