logo githubGitHub

O que é?

É um sistema de controle de versão distribuída. Tendo com utilidade principal o compartilhamento do código fonte de um software em desenvolvimento, permitindo assim que vários desenvolvedores acessem simultaneamente e viabilizando o trabalho em grupo.
Foi desenvolvido pela equipe do LINUX porque os caras não curtiram o que tinha na época.

Versões

Comandos

init

Basta abrir a pasta criada com git init para iniciar o git na pasta. Sera criado uma pasta .git onde a mesma deve conter todos os arquivos para o funcionamento correto.

add

Toda vez que um arquivo for criado o git devera ficar atento as alterações e para isso precisamos evidenciar o arquivo criado através do comando:
git add nomedoarquivo.extencao
Note que ao declarar o add, o git apenas foca no arquivo, o que garante a alteração de fato é o commit. Sendo assim caso queira incluir uma serie de arquivos declare git add .

commit

Para registar uma alteração ao longo do tempo precisamos indicar através de um commit:
git commit -m "texto comentário"

comentando todas as alterações git commit -am "texto sobre tudo"

reset

Caso tenha comitado algo indevidamente pode retornar ao estagio anterior utilizando o comando git reset

log

Retornar ultimas alterações, utilize o comando: git log

show

Para ver mais detalhadamente o que foi alterado em um commit utilize git show seguido do código do commit fornecido pelo log.
Caso o mesmo seja declarado sem o código retornará as alterações do ultimo commit.

status

Verificar se houve alteração ainda não comentada, utilize o comando: git status

branch

É a ramificação da linha do tempo de um projeto. Quando se cria um projeto esse é uma Master.
Para criar uma branch basta declarar git branch categoria/nome
E acesse usando o comando git checkout categoria/nome

Parar criar e já navegar git checkout -b categoria/nome
Caso deseje apenas consultar as branchs criadas acesse através do comando git branch
Para excluir a branch basta declarar git branch -D categoria/nome

merge

No final todas as alterações feitas nas branch's devem chegar ao master, para isso use o comando git merge categoria/nome
Ao realizar novamente um log é possível verificar os commits que foram realizados nas outras branchs "mergenadas".

push

Até o momento todas as informações passadas realiza o controle local, para disponibilizar o mesmo basta no site criar o repositório.
caso o repositório ainda não exista pode usar o código branch

    echo "# exemplo-repositorio" >> README.md
    git init
    git add README.md
    git commit -m "first commit"
    git branch -M main
    git remote add origin https://github.com/seugit/exemplo-repositorio.git
    git push -u origin main
                        

Caso o repositório já exista de maneira local.
    git remote add origin https://github.com/seugit/exemplo-repositorio.git
    git push -u origin master
                        

clone

Caso queira clonar um repositório apagado ou um novo projeto utilize o git clone https://github.com/seu/teste.git o link está disponível através do github no mesmo local onde baixa o código.

pull

Quando quiser importar alterações que constam no servidor basta utilizar o comando git pull o mesmo vai buscar a ultima versão e atualizar os arquivos locais.

Ignore

Utilizado para declarar arquivos de dependência, que não necessariamente deveria fazer parte do conteúdo disponibilizado pelo Git. Esta ligado unicamente a como o git permite o rastejamento de arquivos dentro de um projeto.

Utilização

Primeiramente crie um arquivo dentro da pasta com o nome .gitignore.
Dentro dele declarar o nome de arquivos ou pastas a serem ignorados.

Contribuição

Para contribuir com outro projeto.

  1. Faça um Fork do projeto principal.
  2. Faze um clone do projeto em sua conta.
  3. Realizar as alterações devidas.
  4. Subir isso ao GitHub.
  5. git push --set-upstream origin categoria/nome

    Isso resolve possíveis conflitos

  6. Fazer o Pullrequest das alterações.

Fork

Permite você a fazer uma divisão/copia do projeto principal para trabalhar suas alterações sem alterar o projeto principal.

Pullrequest

Submete todas as alterações a avaliação dos responsáveis pelo projeto principal, ficando responsável por aceitar ou não as propostas.
Para isso acesse a branch no git com as suas alterações e clique em New Pull Request

Git flow

Git Flow diz respeito a boa administração das branchs uma vez que as divisões devem ser coerentes e visar o melhor andamento do desenvolvimento.
Geralmente existem 5 divisões básicas sendo elas:

  1. Master Principal onde se concentram também os vercionamntos.
  2. Hotfix Estado intermediário entre uma versão e as alterações trabalhadas. Ponto para realizar pequenas correções.
  3. Release Ponto de junção entre as novas funcionalidades.
  4. Develop Ponto onde todas as funcionalidades estão completas.
  5. Feature Base de desenvolvimento de funcionalidades.
Claramente é possível ver a hierarquia e é nesta disposição de flow onde geralmente se tem a organização dos contribuintes de acordo com a avaliação do que o mesmo pode agregar.

voltar