間違いだらけの備忘録

このページの内容は無保証でありこのページの内容によって直接、または間接に損害を受けられたとしても私は責任を取りません。

You are in the middle of a conflicted merge.

gitで中途半端な状態になった後、ワーキングコピーは捨てて、
リポジトリを再利用して、元(clone元)のツリーと同期を実行する


※もちろんgit上修正したファイルは消えるものとして

新規ディレクトリにgit cloneしたのと意味は同じだが、
中間ファイル等を残す。
それに伴った一部make処理の省略が主眼。

初期状態

$ git pull
Updating f76c2f8..f41f3a6
error: Entry 'debianmeetingresume2009-natsu.tex' would be overwritten by merge. Cannot merge.

$ git pull
You are in the middle of a conflicted merge.

$ git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       new file:   debianmeetingresume200907.tex
#       new file:   debianmeetingresume200908.tex
#       modified:   image2009-natsu/README
#
# Changed but not updated:
#   (use "git add <file>..." to update what will be committed)
#
#       unmerged:   debianmeetingresume2009-natsu.tex
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       0001-add-debianmeetingresume2009-natsu.tex.patch
#       0001-add-image2009-natsu-2009-summer.eps-image2009-natsu.patch

git logで最後にclone元からMergeに成功したタイミングの手前のcommit
= clone元にあると思われる正常なcommitを確認

$ git log
Date:   Sat Jul 11 23:58:29 2009 +0900

    add debianmeetingresume2009-natsu.tex

commit fcaef6f5072e51e66a39f448bc42a69c692e7ec3
Date:   Sat Jul 11 23:54:02 2009 +0900

    add image2009-natsu/2009-summer.eps image2009-natsu/README

commit 282a7f6d760245db2c0ff28544c95753870a468d
Merge: 526798f... d1c4396...
Date:   Sat Jul 11 22:00:43 2009 +0900

    Merge branch 'master' of git://git.debian.org/git/tokyodebian/monthly-report

commit d1c43962ff1f5e7eabbf9f074c9c673ffd76b162
Date:   Wed Jul 8 22:55:15 2009 +0900

    support command-line option for git push

git reset --hardでリポジトリを正常なcommitまで戻す

$ git reset --hard d1c43962ff1f5e7eabbf9f074c9c673ffd76b162
HEAD is now at d1c4396 support command-line option for git push

$ git status
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       0001-add-debianmeetingresume2009-natsu.tex.patch
#       0001-add-image2009-natsu-2009-summer.eps-image2009-natsu.patch
#       debianmeetingresume2009-natsu.tex
#       debianmeetingresume200907.tex
#       debianmeetingresume200908.tex
#       image2009-natsu/2009-summer.eps
#       image2009-natsu/README
nothing added to commit but untracked files present (use "git add" to track)

git clean -fで(巻き戻った)リポジトリに未登録のファイルを消す

$ git clean -f
Removing 0001-add-debianmeetingresume2009-natsu.tex.patch
Removing 0001-add-image2009-natsu-2009-summer.eps-image2009-natsu.patch
Removing debianmeetingresume2009-natsu.tex
Removing debianmeetingresume200907.tex
Removing debianmeetingresume200908.tex
Removing image2009-natsu/2009-summer.eps
Removing image2009-natsu/README
Not removing monthly-report/

git statusでworking directory cleanになったことを確認。

$ git status
# On branch master
nothing to commit (working directory clean)

git pullの実行で正しくリポジトリを更新できることを確認

$ git pull
remote: Counting objects: 14, done.
remote: Compressing objects: 100% (12/12), done.
remote: Total 12 (delta 8), reused 0 (delta 0)
Unpacking objects: 100% (12/12), done.
From git://git.debian.org/git/tokyodebian/monthly-report
   4aa66ea..f41f3a6  master     -> origin/master
Updating d1c4396..f41f3a6
Fast forward
 debianmeetingresume2009-natsu.tex | 7466 +++++++++++++++++++++++++++++++++++++
 debianmeetingresume200907.tex     |  158 +
 debianmeetingresume200908.tex     |  203 +
 image2009-natsu/2009-summer.eps   | 2032 ++++++++++
 image2009-natsu/README            |    1 +
 5 files changed, 9860 insertions(+), 0 deletions(-)
 create mode 100755 debianmeetingresume2009-natsu.tex
 create mode 100644 debianmeetingresume200907.tex
 create mode 100644 debianmeetingresume200908.tex
 create mode 100644 image2009-natsu/2009-summer.eps
 create mode 100644 image2009-natsu/README
$ git pull
Already up-to-date.
このページにはhatena以外のサービスからのコンテンツが埋め込まれています。 hatenaによりGoogle AdSense 広告が埋め込まれています。