— Clone repository with submodules automatically:
git clone --recursive [email protected]:name/repo.git
— Initialize submodules after regular cloning:
— Clone repository with submodules automatically:
git clone --recursive [email protected]:name/repo.git
— Initialize submodules after regular cloning:
Иногда при работе с несколькими удалёнными репозиториями в git, может произойти страшное: git push --force
в не тот remote
и/или не в ту ветку.
Такое может случиться, например, если вы используете [Deis], в котором деплой запускается при git push
нужного коммита в сборщик, когда при отладке деплоя после очередного git commit --amend
по запарке вместо git push deis master --force
делается просто git push --force
. Упс.
Как результат, последние коммиты коллег безвозвратно потеряны, и вы чувствуете неотвратимость их ярости…
Но это git, а значит всё можно починить!
let findDiffObjects = (newObj, oldObj) => { | |
let newObjSet = new Set(Object.keys(newObj)); | |
let oldObjSet = new Set(Object.keys(oldObj)); | |
let common = {}; | |
let added = {}; | |
let removed = {}; | |
newObjSet.forEach(key => { | |
let value = newObj[key]; |
> Инициализация репозитория | |
git init | |
> Добавление всех файлов в репозиторий на отслеживание | |
git add . | |
git add Имя_файла | |
> Коммит | |
git commit -m "Описание коммита" |
<template> | |
<div class="$TM_FILENAME_BASE">$TM_FILENAME_BASE</div> | |
</template> | |
<script> | |
export default { | |
name: '$TM_FILENAME_BASE', | |
}; | |
</script> |
function declOfNum(number, titles) { | |
cases = [2, 0, 1, 1, 1, 2]; | |
return titles[ (number%100>4 && number%100<20)? 2 : cases[(number%10<5)?number%10:5] ]; | |
} | |
use: | |
declOfNum(count, ['найдена', 'найдено', 'найдены']); |
const | |
hex = /^#[0-9a-fA-F]{3}([0-9a-fA-F]{3})?$/, | |
hexa = /^#[0-9a-fA-F]{4}([0-9a-fA-F]{4})?$/, | |
hexOrHexa = /^#([0-9a-fA-F]{3}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/, | |
rgb = /^rgb\(((0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5]),){2}(0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5])\)$/, | |
rgba = /^rgba\(((0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5]),){2}(0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5]),(0|0\.[0-9]+[1-9]|0\.[1-9]+|1)\)$/ | |
export const testPattern = { | |
date: v => /^-?[\d]+\/[0-1]\d\/[0-3]\d$/.test(v), | |
time: v => /^([0-1]?\d|2[0-3]):[0-5]\d$/.test(v), |
const kebabToCamel = string => string.replace(/-./g, x => x.toUpperCase()[1]); |
{"lastUpload":"2020-08-30T14:54:04.875Z","extensionVersion":"v3.4.3"} |