Class: GitRepository

GitRepository


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
Name Type Argument Description
gitPath string <optional>

Caminho do Git. Caso não seja informado, será utilizado o git existente no Path.

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');

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.