git衝突解決

1206 ワード

http://www.cnblogs.com/sinojelly/archive/2011/08/07/2130172.html
http://hi.baidu.com/jqxw4444/item/f1125cab549dc9278919d3a9
二つのbranchが同じファイルの同じ部分を修正した時、衝突が発生し、gitの自動合併が失敗します。この時、git statusを使って見られます。
    test.2:needs merge
手で衝突を合併する必要があります。git addは衝突修正が完了したことを示します。
それから、git comitでいいです。
 
結合中の衝突を解決します。
自動連結が成功していない場合は、インデックスと作業ツリーの中に特殊な状態を設定します。
衝突したファイルは索引に保存されます。問題を解決してインデックスを更新しない限り、実行するgit comitは失敗します。
$git comit
file.txt:needs merge
git statusを実行すると、これらのファイルがマージされていないことが表示されます。これらの競合するファイルには次のような競合識別子が追加されます。
<<<ハローワールド
=========
Goodbye
>>>>>>77976 da 35 a 11 db 4580 b 80 e 8 d 65 caf 52086:file.txt
あなたが必要とするのは、競合を解決するための編集です。(続いて競合識別子を削除します。)次のコマンドを実行します。
$git add file.txt(必ず先add!!)
$git comit
注意:コメントの中にはすでにいくつかの合併に関する情報があります。通常はこれらのデフォルトの情報を使っていますが、ご希望のコメントを追加してもいいです。
これらは簡単な合併をするために知っておくべきことですが、gitは衝突を解決するためにもっと多くの情報を提供します。
 
コードライブラリのファイルでローカルの作業バージョンを完全に上書きしたい場合、方法は以下の通りです。
git reset --hard

git pull
前回のコミックをキャンセルしたいなら
git reet--ハードコンミットid。 
 
未提出の修正を取り消す
git checkout test/index.php