new GitRepository(localPath [, opt_options])
Classe que simplifica a gestão de um repositório Git a partir do Engine.
Parameters:
Name | Type | Argument | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
localPath |
string | Diretório local com o repositório Git clonado ou onde deverá ser criado o clone caso seja utilizado o método #clone. |
|||||||||
opt_options |
Object |
<optional> |
Opções do uso do Git. Properties
|
Members
-
localPath :string
-
Caminho do repositório Git relativo ao Engine.
Type:
- string
Methods
-
add(pathspec [, opt_options])
-
Atualiza o índice com o conteúdo corrente achado no diretório de trabalho a fim de preparar o conjunto de alterações a serem incluídas no próximo commit. Arquivos incluídos, atualizados ou removidos devem ser adicionados no índice antes do #commit. Ver mais detalhes em https://git-scm.com/docs/git-add.
Parameters:
Name Type Argument Description pathspec
string Arquivos cujo conteúdo serão adicionados ao índice. Mais detalhes da sintaxe em https://git-scm.com/docs/gitglossary, no verbete sobre pathspec.
opt_options
Object <optional>
Opções na adição de alterações no índice do repositório Git.
Properties
Name Type Argument Description all
boolean <optional>
Além de atualizar o índice com o conteúdo dos arquivos da árvore de trabalho que satisfaçam o pathspec, também atualiza as entradas que existem no índice. Dessa forma, a ausência de arquivos no diretório de trabalho para as entradas dos índices que satisfaçam pathspec serão tratadas como exclusão de arquivos.
Examples
// Adiciona todos os arquivos inseridos ou modificados no índice git.add('.');
// Adiciona no próximo commit a remoção de uma arquivo File.delete('teste.txt'); git.add('teste.txt');
// Inclui no próximo commit, todos os arquivos adicionados, // modificados ou removidos no diretório de trabalho git.add('.', {all: true});
-
checkout(target [, opt_options])
-
Alterna entre branches ou restaura arquivos da área de trabalho. Ver mais detalhes em https://git-scm.com/docs/git-checkout.
Parameters:
Name Type Argument Description target
string Nome do branch ou pathspec dos arquivos a serem restaurados.
opt_options
Object <optional>
Opções do comando.
Properties
Name Type Argument Description createIfNotExists
boolean <optional>
Cria um branch com o nome informado. Caso exista um branch com o mesmo nome no repositório remoto cria um branch local a partir dele com rastreamento. Para mais detalhes, ver a documentação sobre "git checkout -B <new_branch>".
Examples
// Alterna para o branch de nome "dev" repository.checkout('dev');
// Descarta as alterações realizadas no arquivo teste.txt repository.checkout('teste.txt');
-
commit(message)
-
Cria um commit do Git com todas as inserções, modificações e remoções registradas por meio do #add. Ver mais detalhes em https://git-scm.com/docs/git-commit.
Parameters:
Name Type Description message
string Mensagem explicativa sobre as alterações realizadas neste commit.
-
getConfig(key)
-
Lê uma configuração do Git.
Parameters:
Name Type Description key
string Chave da configuração a ser lida.
Returns:
Valor atual da configuração.
- Type
- string
-
getCurrentBranch()
-
Obtém o nome do branch corrente do repositório.
-
getStagedFileNames()
-
Obtém a relação dos arquivos que estão no palco (stage) do Git e serão adicionados no próximo commit.
Returns:
Array com os nomes dos arquivos. O caminho dos arquivos sempre serão exibidos com o separator "/".
- Type
- Array.<string>
-
log( [opt_options])
-
Obtém o log de commits do repositório. Ver mais detalhes em https://git-scm.com/docs/git-log.
Parameters:
Name Type Argument Description opt_options
Object <optional>
Filtros para restringir a obtenção do log. Busque filtrar por períodos de data ou por uma revisão específica.
Properties
Name Type Argument Description since
Date <optional>
Exibe os commits mais recentes que a data informada.
until
Date <optional>
Exibe os commits mais antigos que a data informada.
revisionRange
string <optional>
Exibe os commits dentro da faixa de revisões informadas.
path
string <optional>
Exibe os commits do caminho de arquivos informados.
skip
number <optional>
Número de commits ignorados antes de começar a coletar resultado.
maxCount
number <optional>
Quantidade máxima de commits a serem retornados.
Returns:
Array com objetos contendo os detalhes acerca dos commits. A ordem do log será do commit mais recente para o mais antigo.
- Type
- Array.<{commit: string, abbreviated_commit: string, tree: string, abbreviated_tree: string, parent: string, subject: string, sanitized_subject_line: string, author: {name: string, email: string, date: Date}, committer: {name: string, email: string, date: Date}}>
Examples
// Obtém informações sobre os commits dos últimos 30 dias repository.log({since: ngin.date.incDate(new Date(), -30)});
// Obtém informações sobre o último commit repository.log({revisionRange: 'HEAD'});
// Obtém informações sobre os 10 últimos commits repository.log({maxCount: 10});
// Obtém informações sobre os commits realizados no diretório "teste" repository.log({path: 'teste'});
-
pull( [opt_options])
-
Obtém as alterações do repositório remoto e integra no repositório local. Sem indicar parâmetros adicionais, este comando irá realizar um merge com o HEAD do branch remoto que está sendo rastreado (--track), por padrão a origem do branch local. Ver mais detalhes em https://git-scm.com/docs/git-pull.
Parameters:
Name Type Argument Description opt_options
Object <optional>
Opções da operação de pull.
Properties
Name Type Argument Description rebase
boolean <optional>
Realiza a operação de rebase em vez do merge.
repository
string <optional>
Repositório de onde devem ser obtidas as alterações.
refspec
string <optional>
Nome do branch do qual devem ser obtidas as alterações.
-
push(repository [, opt_options])
-
Envia para o repositório remoto as modificações realizadas no repositório local. Ver mais detalhes em https://git-scm.com/docs/git-push.
Parameters:
Name Type Argument Description repository
string Repositório que receberá as alterações.
opt_options
Object <optional>
Opções da operação de push.
Properties
Name Type Argument Description refspec
string <optional>
Especifica a ref no destino que deve ser atualizada com o objeto de origem. O formato de um refspec é: o símbolo "+" opcional, seguido do objeto de origem src, seguindo de ":", seguido pela ref no destino a ser atualizada. Exemplo: a refspec 'master:new-feature' atualiza ou cria o branch "new-feature" no repositório remoto com o branch "master" local.
-
reset(mode [, opt_commit])
-
Redefine o índice ou diretório corrente para o estado especificado de acordo com mode. Ver mais detalhes em https://git-scm.com/docs/git-reset.
Parameters:
Name Type Argument Description mode
string Modo como o índice ou o diretório de trabalho será redefinido. Os valores possíveis são:
- 'hard': redefine o índice e o diretório de trabalho. Qualquer modificação para arquivos
gerenciados pelo Git desde opt_commit são descartados.
- 'soft': não altera o índice, nem o diretório de trabalho, mas redefine o head para opt_commit, como todos os outros modos fazem. Ele deixa todos os arquivos alterados relacionados para um novo commit.
- 'mixed': redefine o índice, mas não modifica o diretório de trabalho. Os arquivos alterados são preservados, mas não são marcados para commit.
opt_commit
string <optional>
Commit para o qual o índice ou o diretório de trabalho serão redefinidos.
Example
// Descarta todas as alterações que não foram efetivadas em um commit repository.reset('hard');
- 'hard': redefine o índice e o diretório de trabalho. Qualquer modificação para arquivos
gerenciados pelo Git desde opt_commit são descartados.
-
resetIndex(paths)
-
Redefine as entradas do índice para todos os arquivos indicados por paths. É a ação contrária de git add paths. Os arquivos no diretório de trabalho não serão modificados. Ver mais detalhes em https://git-scm.com/docs/git-reset.
Parameters:
Name Type Description paths
string | Array.<string> Arquivos a serem removidos do índice. Eles não participarão do próximo commit.
Example
// Remove do índice as alterações dos arquivos index.js e index.htm repository.resetIndex(['index.js', 'index.htm']);
-
setConfig(key, value)
-
Altera uma configuração do Git.
Parameters:
Name Type Description key
string Chave da configuração a ser alterada.
value
* Novo valor da configuração.