1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/vcs-all-in-one-grunt-git

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Grunt-git

Команды Git для grunt.

Начало работы

Если вы раньше не использовали Grunt (http://gruntjs.com/), обязательно ознакомьтесь с руководством «Начало работы» (http://gruntjs.com/getting-started), в котором объясняется, как создать файл Gruntfile (http://gruntjs.com/sample-gruntfile), а также установить и использовать плагины Grunt. После того как вы ознакомитесь с этим процессом, вы можете установить этот плагин с помощью следующей команды:

npm install grunt-git --save-dev

После установки плагина его можно включить внутри вашего файла Gruntfile с помощью этой строки JavaScript:

grunt.loadNpmTasks('grunt-git');

Обновление с версии 0.2.x

Команда gitcommit ранее вызывала git add для вас. Теперь это не так. Обязательно добавьте задачу gitadd, когда могут появиться новые файлы для фиксации. Опция ignoreEmpty больше не поддерживается.

Универсальные опции

Следующие опции могут быть применены к любой задаче:

options.verbose

Тип: Boolean Значение по умолчанию: none

Консольный вывод задачи git будет передан в вывод скрипта grunt. Полезно для отладки.

options.cwd

Тип: string Значение по умолчанию: none

Измените текущий рабочий каталог перед выполнением вызова git. Полезно для выполнения операций с репозиториями, которые находятся во вложенных каталогах. Примечание: При выполнении команд, предоставляющих файлы (например, gitcommit), также необходимо указать cwd для файлов явно.

Пример:

grunt.initConfig({
  gitcommit: {
    your_target: {
      options: {
        cwd: "/path/to/repo"
      },
      files: [
        {
          src: ["fileone.txt", "filetwo.js"],
          expand: true,
          cwd: "/path/to/repo"
        }
      ]
    }
  },
})

Задача «gitadd»

Добавьте содержимое файла в индекс.

Опции

options.all

Тип: Boolean Значение по умолчанию: false

Обновите индекс не только там, где рабочее дерево имеет файл, соответствующий , но и там, где индекс уже имеет запись. Это добавляет, изменяет и удаляет записи индекса в соответствии с рабочим деревом.

options.force

Тип: Boolean Значение по умолчанию: false

Разрешить добавление игнорируемых файлов.

Примеры использования

grunt.initConfig({
  gitadd: {
    task: {
      options: {
        force: true
      },
      files: {
        src: ['test.txt']
      }
    }
  },
});

Задача «gitcommit»

Фиксирует рабочий каталог.

Обзор

В файле Gruntfile проекта добавьте раздел с именем gitcommit в объект данных, переданный в grunt.initConfig().

grunt.initConfig({
  gitcommit: {
    your_target: {
      options: {
        // Целевые параметры здесь.
      },
      files: {
          // Укажите файлы, которые вы хотите зафиксировать
      }
    }
  },
})

Каждая цель определяет конкретную задачу git, которую можно запустить. Различные доступные задачи перечислены ниже.

Опции

options.message

Тип: String Значение по умолчанию: 'Commit'

Сообщение о фиксации.

options.description

Тип: String Значение по умолчанию: false

Описание фиксации.

options.allowEmpty

Тип: Boolean Значение по умолчанию: false

Когда true, задача не завершится ошибкой при отсутствии подготовленных изменений (необязательно).

options.noVerify

Тип: Boolean Значение по умолчанию: false

При значении true задача зафиксирует изменения с флагом --no-verify.

options.noStatus

Тип: Boolean Значение по умолчанию: false

При значении true задача зафиксирует изменения с флагом --no-status.

Примеры использования

Параметры фиксации:

  • message: сообщение фиксации;
  • files: файлы для фиксации;
  • noVerify: обойти хуки pre-commit и commit-msg при фиксации изменений;
  • noStatus: не включать вывод git-status в сообщение фиксации. ## Задача «gitclone»

Клонирует репозиторий git.

Обзор

В файле Gruntfile вашего проекта добавьте раздел с именем gitclone в объект данных, передаваемый в grunt.initConfig().

grunt.initConfig({
  gitclone: {
    your_target: {
      options: {
        // Целевые параметры здесь.
      }
    }
  },
})

Каждая цель определяет конкретную задачу git, которую можно запустить. Ниже перечислены различные доступные задачи.

Параметры

options.bare

Тип: Boolean Значение по умолчанию: нет

Запустите git clone с применённой опцией --bare.

options.branch

Тип: String Значение по умолчанию: нет

Клонировать репозиторий с извлечением определённой ветки. (Нельзя использовать вместе с bare.)

options.depth

Тип: Integer Значение по умолчанию: нет

Клонировать репозиторий с ограниченной историей изменений. (Такие клоны нельзя отправить или получить.)

options.repository (обязательно)

Тип: String Значение по умолчанию: нет

Путь к репозиторию, который вы хотите клонировать.

options.directory

Тип: String Значение по умолчанию: нет

Клонировать репозиторий в конкретный каталог вместо того, который выбирает git.

options.recursive

Тип: Boolean Значение по умолчанию: нет

Передайте флаг --recursive команде git clone. Это эквивалентно запуску команды git submodule update --init --recursive сразу после завершения клонирования.

Примеры использования

grunt.initConfig({
    gitclone: {
        clone: {
            options: {
                repository: 'https://github.com/you/your-git-repo.git',
                branch: 'my-branch',
                directory: 'repo'
            }
        }
    },
});

Задача «gitreset»

Создаёт ветку git с помощью checkout -b или проверяет существующую ветку.

Обзор

В вашем проекте's Gruntfile добавьте раздел с именем gitreset в объект данных, переданный в grunt.initConfig(),

grunt.initConfig({
  gitreset: {
    your_target: {
      options: {
        // Target-specific options go here.
      },
      files: {
        src: // Target-specific files go here.
      }
    }
  },
})

Каждая цель определяет конкретную задачу git, которая может быть запущена. Различные доступные задачи перечислены ниже.

Параметры

options.mode

Тип: String Значение по умолчанию: ''

Режим сброса для запуска. Например: hard, merge.

options.commit

Тип: String Значение по умолчанию: 'HEAD'

На какой коммит выполнить сброс (необязательно).

Примеры использования

grunt.initConfig({
    gitreset: {
        task: {
            options: {
                mode: 'hard',
                commit: 'HEAD~1'
            }
        }
    },
});

Задача «gitrm»

Удаляет файлы из рабочего дерева и индекса git.

Обзор

В вашем проекте's Gruntfile добавьте раздел с именем gitrm в объект данных, переданный в grunt.initConfig(),

grunt.initConfig({
  gitrm: {
    your_target: {
      options: {
        // Target-specific options go here.
      },
      files: {
        src: // Target-specified files go here.
      }
    }
  },
})

Каждая цель определяет конкретную задачу git, которую можно запустить. Различные доступные задачи перечислены ниже.

Параметры

options.force

Тип: Boolean Значение по умолчанию: false

Принудительно удалит файлы, перечисленные в конфигурации.

options.recurse

Тип: Boolean Значение по умолчанию: false

Будет рекурсивно переходить в подкаталоги, если это указано в конфигурации.

Примеры использования

grunt.initConfig({
    gitrm: {
        task: {
            options: {
                force: 'true'
            },
            files: {
                src: ['dist/test.min.js']
            }
        }
    },
});

Задача «gitclean»

Удаление неотслеживаемых файлов из рабочего дерева.

Обзор

В вашем проекте's Gruntfile добавьте раздел с именем gitclean в объект данных, переданный в grunt.initConfig(),

grunt.initConfig({
  gitclean: {
    your_target: {

...

Здесь текст обрывается. Пожалуйста, уточните запрос. ### Опции

#### options.force
Тип: `Boolean`
Значение по умолчанию: `true`

Запускает команду очистки принудительно (опционально).

#### options.dry
Тип: `Boolean`
Значение по умолчанию: `false`

Ничего не удаляет, только показывает, что будет сделано (опционально).

#### options.quiet
Тип: `Boolean`
Значение по умолчанию: `false`

Работает тихо, сообщает только об ошибках, но не о файлах, которые были успешно удалены (опционально).

#### options.exclude
Тип: `String`/`Array`
Значение по умолчанию: `false`

В дополнение к тем, что находятся в `.gitignore` (для каждого каталога) и `$GIT_DIR/info/exclude`, также рассматривает указанные шаблоны как часть действующих правил игнорирования (опционально). 

Если необходимо указать несколько шаблонов, следует использовать массив:

```js
grunt.initConfig({
  gitclean: {
    your_target: {
      options: {
        exclude: ['.env', 'config.php']
      },
      ...
    }
  },
})

options.onlyignorefiles

Тип: Boolean Значение по умолчанию: false

Удаляет только файлы, игнорируемые Git. Это может быть полезно для перестройки всего с нуля, но сохранения файлов, созданных вручную (опционально).

options.nonstandard

Тип: Boolean Значение по умолчанию: false

Не использует стандартные правила игнорирования, считываемые из .gitignore (для каждого каталога) и `$GIT_DIR/info/exclude$, но всё ещё использует правила игнорирования, заданные с помощью этой опции. Это позволяет удалить все неотслеживаемые файлы, включая продукты сборки. Это можно использовать (возможно, в сочетании с git reset) для создания чистого рабочего каталога для тестирования чистой сборки (опционально).

options.directories

Тип: Boolean Значение по умолчанию: false

Убирает неотслеживаемые каталоги в дополнение к неотслеживаемым файлам. Если неотслеживаемый каталог управляется другим репозиторием Git, он по умолчанию не удаляется (опционально).

Задача «gitpush»

Отправляет данные на удалённый сервер.

Обзор

Добавьте раздел с именем gitpush в объект данных, переданный в grunt.initConfig() в файле Gruntfile вашего проекта.

grunt.initConfig({
  gitpush: {
    your_target: {
      options: {
        // Target-specific options go here.
      }
    }
  }
})

Опции

options.remote

Тип: String Значение по умолчанию: 'origin'

Удаленный сервер, куда нужно отправить данные. Например: origin, heroku. Задача отправит данные на origin, если значение не установлено.

options.branch

Тип: String Значение по умолчанию: null

Ветвь удалённого сервера, куда нужно отправить данные. Например: master, develop. Задача отправит данные в отслеживаемую ветвь, если значение не установлено.

options.all

Тип: Boolean Значение по умолчанию: false

Добавит флаг --all к отправке данных.

options.tags

Тип: Boolean Значение по умолчанию: false

Добавит флаг --tags к отправке данных.

options.upstream

Тип: Boolean Значение по умолчанию: false

Добавит флаг --set-upstream к отправке данных.

options.force

Тип: Boolean Значение по умолчанию: false

Добавит флаг --force к отправке данных.

Задача «gitpull»

Загружает данные с удалённого сервера.

Обзор

Добавьте раздел с именем gitpull в объект данных, переданный в grunt.initConfig() в файле Gruntfile вашего проекта. Вы можете изменить удаленный сервер (по умолчанию это origin) и добавить ветку, которую хотите загрузить.

grunt.initConfig({
  gitpull: {
    your_target: {
      options: {}
    }
  }
})

Опции

options.remote

Тип: String Значение по умолчанию: origin

Удалённый сервер, откуда нужно загрузить данные. Задача не завершится ошибкой, если origin не установлен, и загрузит данные с сервера по умолчанию git origin.

options.branch

Тип: String Значение по умолчанию: master

Ветвь, откуда нужно загрузить данные. Например: master, develop (необязательно).

Задача «gitfetch»

Скачивает объекты и ссылки из репозитория.

Обзор

Добавьте раздел с именем gitfetch в объект данных, переданный в grunt.initConfig() в файле Gruntfile вашего проекта.

grunt.initConfig({
  gitfetch: {
    your_target: {
      options: {
        all: true
      }
    }
  }
})

Опции

options.repository

Тип: String Значение по умолчанию: null

Репозиторий, откуда вы хотите скачать данные. Когда удалённый сервер не установлен. Задача «gitarchive»

Архивирует ветку.

Обзор

В файле Gruntfile вашего проекта добавьте раздел с именем gitarchive в объект данных, передаваемый в grunt.initConfig().

grunt.initConfig({
  gitarchive: {
    master: {
      options: {
        format: 'tar.gz',
        prefix: 'your-project-name/',
        treeIsh: 'master',
        output: '/tmp/your-project-name.tar.gz',
        path: ['README', 'LICENSE']
      }
    }
  }
})

Опции

  • options.treeIsh — тип: String, значение по умолчанию: 'master'. Дерево или фиксация для создания архива. Например: 'master' или хэш коммита.

  • options.format — тип: String, значение по умолчанию: 'tar'. Формат результирующего архива: 'tar', 'tar.gz', 'zip'. Если эта опция не задана и указан выходной файл, формат выводится из имени файла (например, запись в «foo.zip» делает вывод в формате zip). В противном случае вывод будет в формате tar.

  • options.prefix — тип: String, значение по умолчанию: нет. Добавляет флаг --prefix. Не забудьте поставить косую черту в конце.

  • options.output — тип: String, значение по умолчанию: нет. Добавляет флаг --output. Записывает архив в файл вместо stdout.

  • options.remote — тип: String, значение по умолчанию: нет. Добавляет флаг --remote. Вместо создания архива tar из локального репозитория извлекает архив tar из удалённого репозитория.

  • options.path — тип: Array, значение по умолчанию: нет. Без дополнительного параметра path все файлы и подкаталоги текущего рабочего каталога включаются в архив. Если указан один или несколько путей, включаются только они.

Задача «gitlog»

Логирует историю коммитов и сохраняет результат в свойстве grunt или вызывает функцию обратного вызова с результатом. Результат представляет собой массив объектов со следующими свойствами:

  • hash — хэш коммита;
  • author — объект со свойствами name и email;
  • date — дата коммита;
  • subject — строка темы коммита;
  • body — тело коммита.

Обзор

В вашем проекте's Gruntfile добавьте раздел с именем gitlog в объект данных, переданный в grunt.initConfig().

grunt.initConfig({
  gitlog: {
    mytarget: {
      options: {
        prop: 'gitlog.mytarget.result',
        from: 'v0.2.0',
        to: 'v0.2.2'
      }
    }
  }
})

Опции

  • options.prop — тип: String, значение по умолчанию: 'gitlog.<target name>.result'. Свойство grunt, в которое следует сохранить результаты.

  • options.callback — тип: Function, значение по умолчанию: нет. Функция обратного вызова, которую следует вызвать с результатами журнала.

  • options.pretty — тип: String. Формат вывода журнала.

  • options.number — тип: Int, значение по умолчанию: нет. Количество экспортируемых записей журналов.

  • options.from — тип: String, значение по умолчанию: нет. Хэш коммита, тег и т. д., с которого следует начать.

  • options.to — тип: String, значение по умолчанию: нет. Хэш коммита, тег и т. д., на котором следует остановиться. По умолчанию используется значение 'HEAD', если указано from.

  • options.dateOrder — тип: Boolean, значение по умолчанию: нет. Следует ли упорядочивать по дате. По умолчанию имеет значение true, когда указаны options.after или options.before.

  • options.after — тип: Date, значение по умолчанию: нет. Дата, с которой следует начать. Вызывает options.dateOrder, чтобы иметь значение true.

  • options.before — тип: Date, значение по умолчанию: нет. Дата, на которой следует остановиться. Вызывает options.dateOrder, чтобы иметь значение true.

  • options.noMerges — тип: Boolean, значение по умолчанию: true. Следует ли включать слияния в журналы. options.callback

Тип: Function Значение по умолчанию: нет

Функция обратного вызова, которую нужно вызвать с результатом.

Примеры использования

grunt.initConfig({
    gitdescribe: {
        latest: {
            options: {
                abbrev: 0,
                callback: function (result) { ... },
            }
        }
    },
});

Для получения полной информации обо всех возможных кодах см. документацию git describe https://git-scm.com/docs/git-describe.

Задача «gitremote»

Управление набором репозиториев («пультов»), ветки которых вы отслеживаете.

options.verbose

Тип: Boolean
Значение по умолчанию: false

Будьте немного более подробными и покажите удалённый URL после имени.

options.add

Тип: Object
Значение по умолчанию: undefined

Добавляет удалённый элемент с именем <name> для репозитория по адресу <url>.

Пример:

grunt.initConfig({
    gitremote: {
        mytargat: {
            options: {
                add: { name: 'upstream', url: 'remote_uri' }
            }
        }
    },
});
Подпараметры для add
options.t

Тип: String
Значение по умолчанию: undefined

options.f

Тип: Boolean
Значение по умолчанию: undefined

options.tags

Тип: Boolean
Значение по умолчанию: undefined

Устанавливает флаг --tags или --no-tags.

options.mirror

Тип: String
Значение по умолчанию: undefined

Пример:

grunt.initConfig({
    gitremote: {
        mytargat: {
            options: {
                add: { name: 'upstream', url: 'remote_uri' },
                t: 'branch',
                f: true,
                tags: true, //true => --tags, false => --no-tags
                mirror: 'fetch'  //<fetch | push>
            }
        }
    },
});

options.rename

Тип: Object
Значение по умолчанию: undefined

Переименовывает удалённый элемент с именем <old> в <new>.

Пример:

grunt.initConfig({
    gitremote: {
        mytargat: {
            options: {
                rename: { old: 'origin', new : 'upstream' }
            }
        }
    },
});

options.remove

Тип: String
Значение по умолчанию: undefined

Удаляет удалённый элемент с именем <имя>.

options.sethead

Тип: String
Значение по умолчанию: undefined

Задаёт или удаляет ветку по умолчанию (т. е. цель символической ссылки refs/remotes//HEAD) для указанного удалённого элемента.

Подпараметры для sethead
options.auto

Тип: Boolean
Значение по умолчанию: undefined

options.delete

Тип: Boolean
Значение по умолчанию: undefined

options.branch

Тип: String
Значение по умолчанию: undefined

Пример:

grunt.initConfig({
    gitremote: {
        mytargat: {
            options: {
                sethead: 'name',
                branch: 'branch'
            }
        },
        mytargat2: {
            options: {
                sethead: 'name',
                auto: true
             }
        },
        mytargat3: {
            options: {
                sethead: 'name',
                delete: true
            }
        }
    },
});

options.setbranches

Тип: Object
Значение по умолчанию: undefined

Изменяет список веток, отслеживаемых указанным удалённым элементом.

Пример:

grunt.initConfig({
    gitremote: {
        mytargat: {
            options: {
                setbranches: { name: 'name', branch: 'branch' }
            }
        }
    },
});
Подпараметры для setbranches
options.add

Тип: Boolean
Значение по умолчанию: undefined

Вместо замены списка отслеживаемых веток добавляет его.

Пример:

grunt.initConfig({
    gitremote: {
        mytargat: {
            options: {
                setbranches: { name: 'name', branch: 'branch' },
                add: true
            }
        }
    },
});

options.geturl

Тип: String
Значение по умолчанию: undefined

Получает URL-адреса для удалённого элемента.

Подпараметры для geturl
options.push

Тип: Boolean
Значение по умолчанию: undefined

options.all

Тип: Boolean
Значение по умолчанию: undefined

options.seturl

Тип: Object
Значение по умолчанию: undefined

Меняет URL-адреса для удалённого элемента.

Пример:

grunt.initConfig({
    gitremote: {
        mytargat: {
            options: {

... ```
seturl: { name: 'name', url: 'newurl', oldurl: 'oldurl' }
            }
        }
    },
});

suboptions for seturl

  • options.push — тип: Boolean, значение по умолчанию: не определено. Манипулируют URL-адресами push вместо получения URL-адресов.

  • options.add — тип: Boolean, значение по умолчанию: не определено. Вместо изменения существующих URL-адресов добавляется новый URL-адрес.

  • options.delete — тип: Boolean, значение по умолчанию: не определено. Вместо изменения существующих URL-адресов удаляются все URL-адреса, соответствующие регулярному выражению , для удалённого . Попытка удалить все непуш-URL-адреса является ошибкой.

Пример:

grunt.initConfig({
    gitremote: {
        mytargat: {
            options: {
                seturl: { name: 'name', url: 'newurl' },
                push: true
            }
        },
        mytargat2: {
            options: {
                seturl: { name: 'name', url: 'newurl' },
                add: true
            }
        },
        mytargat3: {
            options: {
                seturl: { name: 'name', url: 'newurl' },
                delete: true
            }
        }
    },
});
  • options.show — тип: String, значение по умолчанию: не определено. Предоставляет некоторую информацию об удалённом <name>.

Suboptions for show

  • options.n — тип: Boolean, значение по умолчанию: не определено. Сначала не запрашиваются удалённые заголовки с помощью git ls-remote ; вместо этого используется кэшированная информация.

  • prune — тип: String, значение по умолчанию: не определено. Удаляет устаревшие ссылки, связанные с <name>.

  • update — тип: Array, значение по умолчанию: не определено. Извлекает обновления для удалённых устройств или групп удалённых устройств в репозитории, как определено в remotes.<group>.

Пример:

grunt.initConfig({
    gitremote: {
        mytargat: {
            options: {
                update: ['origin', 'upstream']
            }
        }
    },
});

Suboptions for update

  • prune — тип: Boolean, значение по умолчанию: не определено. Запускает обрезку для всех обновлённых удалённых устройств.

  • callback — тип: Function, значение по умолчанию: нет. Функция обратного вызова для вызова с результатом.

Примеры использования

grunt.initConfig({
    gitremote: {
        mytarget: {
            options: {
                geturl: 'origin',
                callback: function (result) { ... },
            }
        }
    },
});

Для получения полной информации обо всех возможных кодах см. документацию по git remote (https://git-scm.com/docs/git-remote).

Вклад

Вместо официального руководства по стилю позаботьтесь о сохранении существующего стиля кодирования. Добавьте модульные тесты для любой новой или изменённой функциональности. Отлаживайте и тестируйте свой код с помощью Grunt (http://gruntjs.com/).

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Git commands for grunt. Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/vcs-all-in-one-grunt-git.git
git@api.gitlife.ru:oschina-mirror/vcs-all-in-one-grunt-git.git
oschina-mirror
vcs-all-in-one-grunt-git
vcs-all-in-one-grunt-git
master