— 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"} |