Он работает:
Из соображений безопасности в Firefox и Opera вы не можете запускать щелчок по вводу файла, но вы можете имитировать с помощью MouseEvents:
<script>
click=function(element){
if(element!=null){
try {element.click();}
catch(e) {
var evt = document.createEvent("MouseEvents");
evt.initMouseEvent("click",true,true,window,0,0,0,0,0,false,false,false,false,0,null);
element.dispatchEvent(evt);
}
}
};
</script>
<input type="button" value="upload" onclick="click(document.getElementById('inputFile'));"><input type="file" id="inputFile" style="display:none">
Для изменений, скрытых в фиксациях слияния
, фиксациям Слияния автоматически скрыли их изменения от вывода журнала мерзавца. И кирка и обратная вина не нашли изменение. Таким образом, строка, которую я хотел, была добавлена и позже удалена, и я хотел найти слияние, которое удалило ее. История файла git log -p -- path/file
только показала тому, чтобы он был добавленным. Вот лучший способ, которым я нашел для нахождения его:
git log -p -U9999 -- path/file
Поиск изменения, затем ищите назад "^commit" - первый "^commit" является фиксацией, где файл в последний раз имел ту строку. Второй "^commit" - после того, как он исчез. Вторая фиксация могла бы быть той, которая удалила ее. Эти -U9999
предназначен для показа всего содержания файла (после того, как каждый раз файл был изменен), предполагая, что файлы являются всеми макс. 9 999 строками.
Находит любые связанные слияния через грубую силу (разность каждая возможная фиксация слияния с ее первым родителем, выполненным против тонн фиксаций)
git log --merges --pretty=format:"git diff %h^...%h | grep target_text" HEAD ^$(git merge-base A B) | sh -v 2>&1 | less
(я пытался ограничить пересмотр, фильтруют больше, но я столкнулся с проблемами, и не рекомендуйте это. Добавить/удаление изменения, которые я искал, были на различных ответвлениях, которые были объединены в в разное время и A... B не включал, когда изменения на самом деле были объединены в магистраль.)
Шоу дерево мерзавца с этими 2 фиксациями (и много сложной удаленной истории мерзавца):
git log --graph --oneline A B ^$(git merge-base A B)
(A первая фиксация выше, B является второй фиксацией выше)
Выставочная история A и история B минус история и A и B.
Альтернативная версия: (кажется, показывает путь более линейно, а не регулярное дерево истории мерзавца - однако я предпочитаю регулярное дерево истории мерзавца):
git log --graph --oneline A...B
3 не 2 точки - 3 точки означает "r1 r2 - не $ (основа слияния мерзавца - весь r1 r2). Это - набор фиксаций, которые достижимы или от одного из r1 (левая сторона) или от r2 (правая сторона), но не от обоих". - источник: "человек gitrevisions"