LINUX.ORG.RU

[git][страна дебилов] Репозиторий не мержится

 


0

1

Текущая ситуация
055… – мой коммит с другого клона репозитория, он последний в origin на данный момент.
8f8… – тоже мой, до которого успели произойти ещё чужие коммиты и вот с тех пор git не может в pull. Пробовал мержить автоматом, вручную, хватать вишенки — Git failed, Git exited abnormally with code 1, а если пытаться сделать apply находясь в hunk'е конкретного коммита, то Git exited abnormally with code 128. Где у этого чёртового magit логи?

Из командной строки:

$ git pull
D	first_file
U	first_file.txt
A	second_file.txt
Pull is not possible because you have unmerged files.
Please, fix them up in the work tree, and then use 'git add/rm <file>'
as appropriate to mark resolution, or use 'git commit -a'.

Deleted

Последнее исправление: fargred (всего исправлений: 1)

Неделя git на лоре :)

Пардон, не удержался.

true_admin ★★★★★
()

Закоммить все свои изменения.

anonymous
()
Ответ на: комментарий от iZEN

> Почему вы не пользуетесь CVS?

В зале раздался лязг затвора...

iBliss
()
Ответ на: комментарий от aol

Спасибо, ага. А как это сделать с помощью magit? Дело в том, что файлы «не добавленные в репозиторий», которым надо сделать `git add`, должны быть в категории untracked, но её нет, т.к. она пуста. А мержить через `a`,`A`, пулл через `F`, `e` для разрешения конфликтов либо просто не работает либо выдаёт ошибку.

Deleted
()
Ответ на: комментарий от Deleted

Кхм, git применил часть, а unpulled коммиты так и остались unpulled. И файлов, на которые они ссылаются больше нет (без расширения были переименованы в .txt).

Deleted
()
Ответ на: комментарий от mmarkk

git stash

$ git stash
first_file: needs merge
first_file: needs merge
first_file: unmerged (6c9ff710c5f449c9a628972d154ee59703d2e10b)
first_file: unmerged (4ce601565d9110e28dd5fb98ab3c7d50fbb7e69f)
fatal: git-write-tree: error building trees
Cannot save the current index state

(исправление конфликтов если есть)

Во, а как?

Deleted
()
Ответ на: комментарий от Deleted

на кой тебе какой-то магит? зайди в каталог с репом (на своей тачке) и сделай git commit -a посмотри, что скажут

aol ★★★★★
()
Ответ на: комментарий от aol

на кой тебе какой-то магит?

Потому что не хотет выползать из емаксу, очевидно же.

$ git commit -a
U   first_file
fatal: 'commit' is not possible because you have unmerged files.
Please, fix them up in the work tree, and then use 'git add/rm <file>' as
appropriate to mark resolution and make a commit, or use 'git commit -a'.
first_file был удалён чьим-то коммитом, а коммиты, редактирующие его остались в unpulled.

Deleted
()
Ответ на: комментарий от aol
U	first_file
A	third_file.txt
Pull is not possible because you have unmerged files.

Пытаюсь устранить

$ git merge 55e4dc37
fatal: 'merge' is not possible because you have unmerged files.

Deleted
()
Ответ на: комментарий от Deleted

кстати, если first_file у тебя больше нет, то удали его git rm first_file потом комит

aol ★★★★★
()
Ответ на: комментарий от aol
$ git status && ls -la
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#	new file:   third_file.txt
#
total 24
drwxr-xr-x 3 fargred fargred 4096 Июл 25 11:11 .
drwxr-xr-x 5 fargred fargred 4096 Июл 19 17:52 ..
-rw-r--r-- 1 fargred fargred  199 Июл 22 15:03 first_file.txt
drwxr-xr-x 7 fargred fargred 4096 Июл 25 11:18 .git
-rw-r--r-- 1 fargred fargred  129 Июл 22 15:03 second_file.txt
-rw-r--r-- 1 fargred fargred   50 Июл 25 09:12 third_file.txt

А хеш мержа где лежит? Алсо, я сделал `git mergetool` и там выбрал тот вариант, где несуществующего файла first_file не существует. Потом вернулся в емакс и обновил состояние репозитория (G), результат просто волшебен – емакс зохавал 3 с четвертью гига памяти и повис. Это учитывая, что я снём magit из ELPA и поставил через портежи посвежее. Теперь pull без проблем, говорит, всё ok, already up to date, а в списке коммитов теперь вот что

Deleted
()
Ответ на: комментарий от Deleted

«это фантастика» ;) а вообще, я консольными утилитами пользуюсь - про магит ничего не знаю. наверное, он от лукавого ;)


# new file: third_file.txt

комит делай. потом пушить побуй. должно работать.

aol ★★★★★
()
Ответ на: комментарий от Deleted

а про «что за хэш в мёрже?» я имел ввиду следующее:
ты в git merge указал какой-то хэш. вот и интересно было, откуда ты его придумал.

aol ★★★★★
()
Ответ на: комментарий от aol

а вообще, я консольными утилитами пользуюсь

cola ставить не буду, тулкитофобия.

# А вот это вот ↓ как-нибудь лечится?
$ git fsck
dangling tree 033114a11f6e921088e10f3e4904739120e52a98
dangling blob f618acbe092372b71489486fa52bc7bff04e3e05
dangling commit 3f001482f06e4a58b6b17ea61ff020b91f43e994

$ git commit -am "commit after mergetool && pull"
[master fa472a8] commit after mergetool && pull
 1 files changed, 1 insertions(+), 0 deletions(-)
 create mode 100644 third_file.txt

$ git push
To git@11.11.11.11:reponame.git
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'git@11.11.11.11:reponame.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again.  See the
'Note about fast-forwards' section of 'git push --help' for details.

$ git pull
Already up-to-date.

Deleted
()
Ответ на: комментарий от aol

Вот он, это коммит со скриншота:

commit 55e4dc3752e69d4af17442646ba4ae87279fdd02
Author: This-man-is-hated-by-OP <this-man-is-hated-by-op@mail.ru>
Date:   Wed Jul 20 13:21:05 2011 +0400

    ololo added

	Modified first_file
diff --git a/first_file b/first_file
index 6c9ff71..4ce6015 100644
--- a/first_file
+++ b/first_file
@@ -1 +1,2 @@
 Shalala Tralala
+Ololo 111
\ No newline at end of file

Deleted
()
Ответ на: комментарий от anonymous

аноним, помоги лучше тсу гуглить! его, видимо, забанили! :)

aol ★★★★★
()
Ответ на: комментарий от aol
$ git pull origin master
remote: Counting objects: 17, done.
remote: Compressing objects: 100% (10/10), done.
remote: Total 15 (delta 5), reused 0 (delta 0)
Unpacking objects: 100% (15/15), done.
From 11.11.11.11:reponame
 * branch            master     -> FETCH_HEAD
CONFLICT (delete/modify): first_file deleted in b63942e4f29803e95d7eec57d247dbad9b1a2d23 and modified in HEAD. Version HEAD of first_file left in tree.
Auto-merging first_file.txt
CONFLICT (add/add): Merge conflict in first_file.txt
Automatic merge failed; fix conflicts and then commit the result.

# Ну delete так delete…
$ git rm first_file
first_file.txt: needs merge

# TEH PARADOX
$ git merge  first_file
fatal: 'merge' is not possible because you have unmerged files.
Deleted
()
Ответ на: комментарий от Deleted

Ну да, да, последнее и не должно было работать, но команда сама напрашивалась же!

Deleted
()
Ответ на: комментарий от Deleted

Ты уже что-то накрутил.

git fsck # возможно, косяк здесь.

git branch # ты должен быть на конкретной ветке, а не на (no-banch)

git checkout (имя ветки) - вернуться в нужную ветку

git merge --abort # если ты в середине мержа и не знаешь чо делать

git log

git status # покажет чо происходит ваще

git reset --hard (какой-то коммит)

разрезольвивание конфликта - git mergetool

Рекомендую meld. Исправлять нужно ТОЛЬКО места помеченные <<<<< и >>>>

mmarkk
()
Ответ на: Ha! Ha! I'm using the Git! от Deleted

пуллить нелокальные ветки с ребазом - это стронгли депрекейтед.

они потом не запушатся.

mmarkk
()
Ответ на: комментарий от mmarkk

git fsck # возможно, косяк здесь.

Только он выдаёт не те коммиты, что остались unpulled, а ещё какие-то.

git branch # ты должен быть на конкретной ветке, а не на (no-banch)

* master

git merge --abort # если ты в середине мержа и не знаешь чо делать

Хорошо, спасибо.

commit 34380857a271340bbc8fc00853e710f4e6c6acaa
Author: fargred <mypost@server.com>
Date:   Mon Jul 25 11:55:01 2011 +0400

    Коммит, полный отчаяния.

commit fa472a89c9b97f9710b59bb83d9fd42bb3c8941e
Author: fargred <mypost@server.com>
Date:   Mon Jul 25 11:32:46 2011 +0400

    commit after mergtool && pull

commit bb10b19c391517f5eb6203cea7e7e0a7da51c525
Author: fargred <mypost@server.com>
Date:   Mon Jul 25 09:07:58 2011 +0400

    Added somewhat i don't exactly know

commit 8f8d8995c95ba4f5ef68a30049a08937f9b3b7e8
Author: fargred <mypost@server.com>
Date:   Wed Jul 20 13:23:03 2011 +0400

    HaHaHa added

commit 724699e731243c1657702a03be373b048391a266
Author: fargred <mypost@server.com>
Date:   Tue Jul 19 18:14:56 2011 +0400

    test redmine fixes change in repo

commit e506028250fa25c01a80930830acdfd17c3b0cae
Author: fargred <mypost@server.com>
Date:   Tue Jul 19 17:53:42 2011 +0400

    first commit

Рекомендую meld. Исправлять нужно ТОЛЬКО места помеченные <<<<< и >>>>

Нраица.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.