Есть ли способ заставить Git пометить файл как конфликтующий?

mysqli_error () вам нужно передать соединение с базой данных в качестве параметра. В документации есть несколько полезных примеров:

http://php.net/manual/en/mysqli.error.php

Попробуйте изменить свою проблемную строку так и вы должны быть в хорошей форме:

$query = mysqli_query($myConnection, $sqlCommand) or die (mysqli_error($myConnection)); 

37
задан Christian Neverdal 6 May 2010 в 10:54
поделиться

4 ответа

Вы можете получить содержимое файла с маркерами конфликтов, используя git checkout --conflict=merge -- file, но если вы очистили индекс с помощью git add file (или если GUI сделал это за вас), это не сработает.

Есть git update-index --unresolve, но это халтура, и работает не очень надежно. Я думаю, что состояния, которое он восстанавливает, будет недостаточно для git-mergetool.

Вам, вероятно, придётся повторить слияние, или использовать git update-index --cacheinfo, чтобы вручную установить версию этапов... git-stash может помочь вам сохранить правильно разрешённые конфликты.

21
ответ дан 27 November 2019 в 01:49
поделиться

Насколько мне известно, вы не сможете выполнить фиксацию, пока файл все еще содержит маркеры конфликта. ... что не совсем так:
OP упоминает, что вы можете (я копирую здесь его pastbin ), но этого будет недостаточно для mergetool для повторного запуска:

Auto-merged README
CONFLICT (content): Merge conflict in README
Automatic merge failed; fix conflicts and then commit the result.
lynx:~/test_clone$ ls
README
lynx:~/test_clone$ git add README
lynx:~/test_clone$ git commit -a
Created commit 46ee062: It works!
lynx:~/test_clone$ ls
README
lynx:~/test_clone$ cat README
<<<<<<< HEAD:README
testingtesting
=======
hmm
>>>>>>> 881d60f5f738bc5716f5c9a9384e262b535717fd:README
lynx:~/test_clone$

Как комментирует Чарльз Бейли и иллюстрирует в этом SO-ответе , запрашивается mergetool, потому что существует 3 экземпляра одного и того же файла в индексе :

Для неподключенного файла в конфликте git делает доступными общую базовую, локальную и удаленную версии файла в индексе. (Здесь они считываются для использования в инструменте трехстороннего сравнения с помощью git mergetool .) Вы можете использовать git show для их просмотра:

# common base:
git show :1:afile.txt

# 'ours'
git show :2:afile.txt

# 'theirs'
git show :3:afile.txt

git add (с любым содержимым, включая маркеры конфликта) автоматически удалит 2 из них, гарантируя, что mergetool больше не будет вызван .

2
ответ дан 27 November 2019 в 01:49
поделиться

Самым элегантным решением было бы предотвратить эту проблему с самого начала:
git config --global mergetool.[tool].cmd [вызов командной строки]
git config --global mergetool.[tool].trustExitCode false

6
ответ дан 27 November 2019 в 01:49
поделиться

@VonC: Сначала я не создавал аккаунт (сейчас у меня есть), поэтому я не смог опубликовать комментарий. Вызов git mergetool его не обнаруживает, похоже:

Auto-merged README
CONFLICT (content): Merge conflict in README
Automatic merge failed; fix conflicts and then commit the result.
lynx:~/test_clone$ ls
README
lynx:~/test_clone$ git add README
lynx:~/test_clone$ git commit -a
Created commit 46ee062: It works!
lynx:~/test_clone$ ls
README
lynx:~/test_clone$ cat README
>>>>>> 881d60f5f738bc5716f5c9a9384e262b535717fd:README
lynx:~/test_clone$ git mergetool
merge tool candidates:  opendiff emerge vimdiff
No files need merging
lynx:~/test_clone$

git mergetool может принять имя файла, но это тоже не сработает:

Auto-merged README
CONFLICT (content): Merge conflict in README
Automatic merge failed; fix conflicts and then commit the result.
caracal:~/test_clone2$ git mergetool
merge tool candidates:  opendiff emerge vimdiff
Merging the files: README

Normal merge conflict for 'README':
  {local}: modified
  {remote}: modified
Hit return to start merge resolution tool (emerge): 
caracal:~/test_clone2$ ls
#*merge*#145962bz#  README  README~  README.orig
caracal:~/test_clone2$ git mergetool
merge tool candidates:  opendiff emerge vimdiff
No files need merging
caracal:~/test_clone2$ git mergetool README
merge tool candidates:  opendiff emerge vimdiff

README: file does not need merging
caracal:~/test_clone2$ ls
#*merge*#145962bz#  README  README~  README.orig
caracal:~/test_clone2$ 

Обратите внимание, что я не выполнял фиксацию после выхода из git mergetool.

0
ответ дан 27 November 2019 в 01:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: