ブランチ v にいた後、マスター ブランチに切り替えてから、ブランチ v に戻りました。再度コンパイルすると、コードに奇妙なシンボルが表示されたため、コンパイルに失敗しました。
私は OS X Lion と最新バージョンの textWrangler を使用していますが、これを誤って追加したのではないと確信しています。これは Git または textWrangler のせいですか?
アップデート
マージ後に git が追加されたものがあります。
ブランチ v にいた後、マスター ブランチに切り替えてから、ブランチ v に戻りました。再度コンパイルすると、コードに奇妙なシンボルが表示されたため、コンパイルに失敗しました。
私は OS X Lion と最新バージョンの textWrangler を使用していますが、これを誤って追加したのではないと確信しています。これは Git または textWrangler のせいですか?
アップデート
マージ後に git が追加されたものがあります。
これは Git のせいではないと思います。option
と文字を入力すると、次のような文字を取得できます。
option+s = ß
option+b = ∫
option+c = ç
option+z = Ω
option+d = ∂
option+q = œ
等々。これは単なる偶然かもしれません (私はこれらの組み合わせの 1 つを毎週ヒットしています)。
更新:
2 番目の例で表示されているのは競合マーカーであり、Git はそれを絶対にそこに置きます。つまり、ブランチを現在のブランチにマージしたとき (おそらく github からのプル)、Git は何がどこにあるのかを把握できませんでした。したがって、どのブランチに正しいバージョンがあるかを推測しようとする代わりに、そのセクションを矛盾した状態のままにして、ローカルの変更とマージから導入された変更を示します。これは通常、2 人のユーザーが 2 つの異なるブランチで同じコンテンツを変更した場合に発生します。
この SO answerから借用すると、 がfile.txt
あり、マージ後に次のようなセクションがあるとします。
<<<<<<< HEAD:file.txt
Hello world
=======
Goodbye
>>>>>>> 77976da35a11db4580b80ae27e8d65caf5208086:file.txt
<<<<<<< HEAD
と の間に含まれるすべて=======
が入力したものです (このセクションは、多くの場合、 とラベル付けされていますlocal
)
=======
との間のすべては>>>>>>> 77976da35a11db4580b80ae27e8d65caf5208086:file.txt
、着信コミットの同じ場所にあるものです (多くの場合、 とラベル付けされますremote
)。
マージ後にこれが表示された場合は、マーカー ( <<<<<<< HEAD:file.txt
、=======
および>>>>>>> 77976da
) を削除してファイルを手動で修正し、保持するバージョンを決定する必要があります。この場合Hello World
、、、GoodBye
または両方を保持したい場合があります。要点は、同じコンテンツが 2 つの異なるブランチで編集され、Git はそれらの行を処理する方法を理解できなかったということです。
Git は素晴らしいバージョン管理システムですが、すべてのツールと同様に、Git が達成できることには限界があります。
少し奇妙なことについて簡単にメモします。Xcode で作業しているときは、ターミナルに移動して、必要なすべての git コマンドを実行し、すぐに XCode の作業に戻ることができます。Sublime Text 2では、Sublime Text を終了し、git コマンドを実行してから、Sublime Text を再度開いています。そうしないと、期待どおりに変更が持続しません。Text Wranglerについてはわかりません。その部分を理解する必要があります(または、誰かがコメントを残すことができます)。
Git に関するいくつかのリンク: