Há duas maneiras de configurar uma pasta como um repositório git:
- Crie uma pasta vazia ou aproveite uma pasta já existente
- Entre nela e inicialize o repositório com o comando:
$ git init
- 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
- Com https:
- Realize o pull:
$ git pull origin master
- Comece a trabalhar!
- Clone o repositório:
- Com https:
$ git clone https://github.com/user/repo
- Com ssh:
$ git clone ssh:git@github.com/user/repo.git
- Com https:
- Comece a trabalhar!
- 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>
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>
- Local:
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.
- Mude para o branch que receberá as mudanças:
$ git checkout <branch1>
- 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 betweengit merge
andgit merge --no-ff
- Resolva os possíveis conflitos, editando o que for necessário
- Adicione, registre e carregue as mudanças no repositório remoto normalmente
- 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
- Com https:
- Remover o endereço do repositório:
$ git remote remove origin
- 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
- 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.
- Ler esse readme.
- Terminar esse readme.
Autor: @mrtheduts
Esse readme é de uso livre.
Sugestões são bem-vindas.