Skip to content

mrtheduts/readmegit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 

Repository files navigation

Índice:

  1. Inicializando o repositório
  2. Comandos
  3. Dicas
  4. Links para referência

Inicializando o repositório

Há duas maneiras de configurar uma pasta como um repositório git:

1. Através de $ git init

  1. Crie uma pasta vazia ou aproveite uma pasta já existente
  2. Entre nela e inicialize o repositório com o comando: $ git init
  3. Configure o endereço remoto do repositório:
    • Com https: $ git remote add origin https://github.com/user/repo.git
    • Com ssh: $ git remote add origin ssh:git@github.com/user/repo.git

    Mais informações sobre o uso de $ git remote na seção Lidar com $ git remote

  4. Realize o pull: $ git pull origin master
  5. Comece a trabalhar!

2. Ou de $ git clone

  1. Clone o repositório:
    • Com https: $ git clone https://github.com/user/repo
    • Com ssh: $ git clone ssh:git@github.com/user/repo.git
  2. Comece a trabalhar!

Comandos

Gerenciar mudanças

  • Atualizar repositório local com as mudanças carregadas ao remoto: $ git pull
  • Verificar os arquivos que foram modificados, adicionados e removidos: $ git status
  • Verificar as mudanças feitas após o último commit: $ git diff
  • Incluir adição ou mudança a ser registrada: $ git add <caminho/para/arquivos>
  • Incluir remoção de arquivo a ser registrada: $ git rm <caminho/para/arquivos>
  • Registrar suas mudanças: $ git commit [-a] [-m "Mensagem"]

    As flags são opcionais.
    -a Adiciona automaticamente as mudanças realizadas nos arquivos que já estavam sendo rastreados nesse commit;
    -m Pula a etapa de abertura do editor de texto para a criação da mensagem de commit, utilizando diretamente a mensagem entre aspas;

  • Carregar as mudanças registradas ao repositório remoto: $ git push origin <branch>

    <branch> é o branch que está sendo modificado, como, por exemplo, o master.
    Para maiores explicações, veja a seção Lidar com $ git branch e $ git checkout

  • Verificar os commits feitos em ordem cronológica: $ git log [--oneline] [--graph]

    As flags são opcionais.
    --graph mostra os commits em estilo de grafo, com cada branch de uma cor;
    --oneline Deixa de lado algumas informações e mostra apenas o ID e o comentário do commit;
    No quadrinho abaixo há uma representação parecida com resultado do uso das duas flags acima.

  • Ver informações sobre um commit: $ git show <ID do commit>

Lidar com $ git branch e $ git checkout

Branches são ramos de commits que divergiram do "tronco" principal do repositório - ou até mesmo de outros branches. São muito úteis para o desenvolvimento paralelo de recursos, gerenciando mudanças de uma forma organizada, podendo ser integrados ao ramo principal quando estiverem prontos. O ramo azul no quadrinho acima é um exemplo de branch.

  • Listar o branches existentes, indicando o atual: $ git branch [--all]

    A flag é opcional.
    --all Lista todos os branches presentes no repositório local e no remoto;

  • Criar um novo branch a partir do commit atual: $ git branch <nome>
  • Mudar o branch atual: $ git checkout <nome>

    O par de comandos acima pode ser substituído por $ git checkout -b <nome>, caso deseje criar um novo branch e fazer dele seu atual.

  • Deletar branch:
    • Local: $ git branch -d <nome>
    • Remoto: $ git push origin --delete <nome>

Lidando com $ git merge

Dada a forma que o git gerencia as mudanças nos arquivos, é relativamente fácil unir duas versões de um ou vários arquivos, em branches separados, por exemplo. No quadrinho acima, o ramo azul foi fundido no ramo verde. O passo-a-passo abaixo instrui como realizar um merge entre dois branches.

  1. Mude para o branch que receberá as mudanças: $ git checkout <branch1>
  2. Realize o merge de <branch2> em <branch1>: $ git merge [--no-ff] <branch2>

    A flag é opcional.
    --no-ff Impede que os commits de <branch2> sejam incorporados à árvore de <branch1>, apagando a existência de <branch2> do log do repositório;
    Para mais informações, veja differences between git merge and git merge --no-ff

  3. Resolva os possíveis conflitos, editando o que for necessário
  4. Adicione, registre e carregue as mudanças no repositório remoto normalmente

Lidar com $ git remote

  • Listar os repositórios remotos registrados: $ git remote show
  • Verificar qual o endereço do repositório remoto: $ git remote get-url <nome>
  • Adicionar um novo repositório remoto:
    • Com https: $ git remote add <nome> https://github.com/user/repo.git
    • Com ssh: $ git remote add <nome> ssh:git@github.com/user/repo.git
  • Remover o endereço do repositório: $ git remote remove origin

Lidar com $ git tag

  • Listar todas as tags do repositório local: $ git tag [-nX]

    A flag é opcional.
    -nX Mostra as X primeiras linhas da mensagem da tag ou do commit correspondente.

  • Criar uma tag no commit atual: $ git tag <nome> [-a [-m "Mensagem"]]

    As flags são opcionais.
    -a Cria uma flag annotated, isto é, uma flag com informações sobre o usuário, a data e a hora de criação, assim como uma mensagem.
    -m Pula a etapa de abertura do editor de texto para a criação da mensagem, utilizando diretamente a mensagem entre aspas;

  • Ver informações de uma tag: $ git show <nome>
  • Carregar as tags ao repositório remoto: $ git push --tags

Dicas

  • Configure seu editor de texto padrão: $ git config --global core.editor "seu_editor"
  • Para não precisar inserir as informações de login no repositório remoto a cada push:
    $ git config credential.helper 'cache --timeout=<nºsegundos>'
  • Se utiliza verificação em duas etapas, use uma chave ssh para se conectar.

Links para referência

Guias

Documentação

Diversos

Tarefas:

  • Ler esse readme.
  • Terminar esse readme.

Autor: @mrtheduts
Esse readme é de uso livre.
Sugestões são bem-vindas.

About

Um simples readme para colocar no seu repositório para auxiliar no uso dos comandos git.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published