Координаты мыши внутри холста могут быть получены благодаря event.offsetX и event.offsetY. Вот небольшой фрагмент, подтверждающий мою точку зрения:
c=document.getElementById("c");
ctx=c.getContext("2d");
ctx.fillStyle="black";
ctx.fillRect(0,0,100,100);
c.addEventListener("mousemove",function(mouseEvt){
// the mouse's coordinates on the canvas are just below
x=mouseEvt.offsetX;
y=mouseEvt.offsetY;
// the following lines draw a red square around the mouse to prove it
ctx.fillStyle="black";
ctx.fillRect(0,0,100,100);
ctx.fillStyle="red";
ctx.fillRect(x-5,y-5,10,10);
});
body {
background-color: blue;
}
canvas {
position: absolute;
top: 50px;
left: 100px;
}
<canvas id="c" width="100" height="100"></canvas>
Я получил то же сообщение об ошибке, выполнив команду
: PluginUpdate из командной строки редактора vim
" Пожалуйста, передайте ваши изменения или спрячьте их до слияния "
1. только что физически удалил папку , содержащую плагины из
rm -rf ~/.vim/bundle/plugin-folder/
2. и переустановил его из командной строки vim,
: PluginInstall!
, потому что мой ~ / .vimrc содержал инструкции по сборке плагина к этому месту назначения:
это создало правильную папку,
и поместило новый пакет в эту папку ~ ./. Vim / bundle / reinstalled-plugins-folder
Знаки «! » (из-за неудачной команды PluginUpdate ) были изменены
От до « + », после чего сработала команда PluginUpdate для.
Я игнорировал файл в своем репо, и когда я сделал git pull upstream master
, я получил следующую ошибку:
ошибка: Ваши локальные изменения в следующих файлах будут перезаписаны слиянием: myfile. js Пожалуйста, передайте изменения или спрячьте их, прежде чем вы сможете объединить их. Отмена
Чтобы решить эту проблему, я сделал следующее
git update-index --no-assume-unchanged myfile.js
Затем я сделал git status
и получил это сообщение
На мастере филиала Ваша ветка отстает от 'origin / master' на 4 коммита и может быть быстро переадресован. (используйте «git pull» для обновления вашей локальной ветки)
Изменения, не подготовленные для фиксации: (используйте «git add ...» для обновления того, что будет зафиксировано) (используйте «git checkout - ...» «отменить изменения в рабочем каталоге)
изменено: myfile.js
изменения не добавлены в коммит (используйте« git add »и / или« git commit -a »)
Затем я сделал git checkout myfile.js
, а затем git pull upstream master
. На этот раз операция git pull прошла успешно.
В недавнем Git вы можете добавить -r
/ --rebase
к команде pull
, чтобы перебазировать вашу текущую ветку поверх ветки вверх по течению после выборки. Предупреждение должно исчезнуть, но есть риск, что вы получите некоторые конфликты, которые вам нужно будет решить.
В качестве альтернативы вы можете проверить другую ветвь с силой, а затем снова вернуться к master
, например:
git checkout origin/master -f
git checkout master -f
, а затем снова потянуть как обычно:
git pull origin master
Использование этого метода может сэкономить ваше время от сохранения (git stash
) и потенциальных проблем с разрешениями, сброса файлов (git reset HEAD --hard
), удаления файлов (git clean -fd
) и т. Д. Кроме того, вышеизложенное легче запомнить.
Это работает для меня, чтобы переопределить все локальные изменения и не требует идентификации:
git reset --hard
git pull
Лучший способ решить эту проблему:
git checkout -- <path/file_name>
После этого вы можете перезаписать файл:
git pull origin master
Простое решение:
git reset --hard && git pull
Я являюсь новым в мерзавце и не уверенным, является ли моим решением хорошая идея.
я протестировал ВСЕ ответы, и ни один из них не работал на меня!
, Но я нашел другое решение:
1. Backup both of local and repository versions of the file.
2. Delete the file from repository.
3. git add .
4. git commit
5. git push
Hope это помогает.
Ошибка "Ваши локальные изменения в следующих файлах была бы перезаписана слиянием", прибывает, потому что у Вас есть некоторые изменения в локальных repo, которые еще не фиксировались, поэтому прежде, чем вытянуть от удаленного repo просто фиксируют изменения в локальном repo.
Позволяет, говорят, что Ваш удаленный repo имеет некоторое ответвление xyz, и Вы хотите, чтобы тот удаленный repo xyz ответвление был объединен в (скопированный в) локальный repo xyz ответвление затем,
{
git checkout xyz //check out to the respective branch in local repo
git commit -m "commiting message" //commit changes if any, in local repo branch xyz
git pull //it pulls remote xyz branch into local xyz branch
}