You could also use "cmd //c tree" to use Windows' tree
Esse capítulo trata dos primeiros passos usando o Git. Inicialmente explicaremos alguns fundamentos sobre ferramentas de controle de versão, passaremos ao tópico de como instalar o Git no seu sistema e finalmente como configurá-lo para começar a trabalhar. Ao final do capítulo você entenderá porque o Git é muito utilizado, porque usá-lo e como usá-lo.
https://git-scm.com/book/pt-br/v1/Primeiros-passos-Sobre-Controle-de-Vers%C3%A3o
Caso você precise de ajuda usando o Git, exitem algumas formas de se obter ajuda
$ git help
$ git --version
$ git help <verb>
$ git <verb> --help
Você pode querer fazer algumas coisas para customizar seu ambiente Git. Você só precisa fazer uma vez; as configurações serão mantidas entre atualizações. Você também poderá alterá-las a qualquer momento executando os comandos novamente.
Git vem com uma ferramenta chamada git config que permite a você ler e definir variáveis de configuração que controlam todos os aspectos de como o Git parece e opera. Essas variáveis podem ser armazenadas em três lugares diferentes:
--system
Contém valores para todos usuários do sistema e todos os seus repositórios.--global
É específico para seu usuário.--local
Específico para aquele único repositório.
A primeira coisa que você deve fazer quando instalar o Git é definir o seu nome de usuário e endereço de e-mail. Isso é importante porque todos os commits no Git utilizam essas informações, e está imutavelmente anexado nos commits que você realiza:
Por padrão, Git usa o editor padrão do sistema, que é geralmente Vi ou Vim. Caso você queira utilizar um editor diferente, tal como o Sublime, Bracks, Dreamwever, você pode executar o comando:
$ git config --global user.name "adammacias"
$ git config --global user.email [email protected]
$ git config --global core.editor "'C:\Program Files\Sublime Text 3\sublime_text.exe' -multiInst -nosession"
$ git config user.name
$ git config user.email
$ git config core.editor
$ git config --list
Você pode obter um projeto Git utilizando duas formas principais.
A primeira faz uso de um projeto ou diretório existente e o importa para o Git. . A segunda clona um repositório Git existente a partir de outro servidor.
Caso você esteja iniciando o monitoramento de um projeto existente com Git, você precisa ir para o diretório do projeto e digitar
$ git init
Isso cria um novo subdiretório chamado .git
que contem todos os arquivos necessários de seu repositório
Caso você queira copiar um repositório Git já existente — por exemplo, um projeto que você queira contribuir — o comando necessário é git clone
.
$ git clone [url] [diretory]
- Arquivos monitorados são arquivos que estavam no último commit;
- Arquivos não monitorados e modificados são todo o restante; (Arquivos novos ou deletados)
$ git status
# On branch master
nothing to commit, working directory clean
Isso significa que você tem um diretório de trabalho limpo — em outras palavras, não existem arquivos monitorados e modificados. Git também não encontrou qualquer arquivo não monitorado, caso contrário eles seriam listados aqui. Por fim, o comando lhe mostra em qual branch você se encontra.
- working diretory (diretorio de trabalho)
- staging area (encenação/pre-commmits)
Criar arquivo a.html
> a.html
git add -A
git add .
> b.html
echo b > b.html
git add -A
Agora que a sua área de seleção está do jeito que você quer, você pode fazer o commit de suas mudanças.
— qualquer arquivo que você criou ou modificou que você não tenha rodado o comando git add
desde que editou — não fará parte deste commit.
Estes arquivos permanecerão como arquivos modificados em seu disco.
git commit -m "Story 182: Fix benchmarks for speed"
Se você quiser pular a área de seleção, o Git provê um atalho simples. Informar a opção -a
ao comando git commit
faz com que o Git selecione automaticamente cada arquivo que está sendo monitorado antes de realizar o commit, permitindo que você pule a parte do git add
:
git commit -a -m "Story 182: Fix benchmarks for speed"
Se o comando git status
for muito vago — você quer saber exatamente o que você alterou, não apenas quais arquivos foram alterados — você pode utilizar o comando git diff
.
git diff
Este comando compara o que está no seu diretório de trabalho com o que está na sua área de seleção (staging). O resultado te mostra as mudanças que você fez que ainda não foram selecionadas.
Se você quer ver o que selecionou que irá no seu próximo commit, pode utilizar git diff --cached
.
Muitas vezes, você terá uma classe de arquivos que não quer que o Git automaticamente adicione ou mostre como arquivos não monitorados. Normalmente estes arquivos são gerados automaticamente como arquivos de log ou produzidos pelo seu sistema de build. Nestes casos, você pode criar um arquivo contendo uma lista de padrões a serem checados chamado .gitignore.
> .gitignore
Depois que você tiver criado vários commits, ou se clonou um repositório com um histórico de commits existente, você provavelmente vai querer ver o que aconteceu. A ferramente mais básica e poderosa para fazer isso é o comando git log
.
git log
git log --oneline --decorate --all --graph (Traz info de onde vc esta (HEAD) e dos branchs, all mostra os branchs acima, mostra o grafico graph )
Por exemplo, se você fez um commit e esqueceu de adicionar na área de seleção as modificações de um arquivo que gostaria de ter adicionado nesse commit, você pode fazer algo como isso:
$ git commit -m 'initial commit'
$ git add forgotten_file
$ git commit --amend
Depois desses três comandos você obterá um único commit — o segundo commit substitui os resultados do primeiro.
git reset HEAD [namefile]
git reset HEAD .
git branch [name]
git checkout [name]
git checkout -b [name]
// Mostrar ls arquivos comparacao com branchs
SINCRONIZAR REPOSITORIOS
Manter repositório do Github forkado sincronizado com o original
Depois que você forka um projeto no Github, você faz as alterações necessárias e envia um Pull Request para o repositório original.
Se você precisa fazer mais alguma alteração no mesmo repositório no futuro, mas já tem outras colaborações no repositório original, como você procede para manter seu repositório atualizado? Copia as alterações manualmente para o seu repositório? Apaga e forka novamente? Chora?
git remote add upstream [ENDEREÇO DO REPOSITÓRIO PRINCIPAL] git fetch upstream git merge upstream/master
git remote set-url origin [email protected]:fatecweb/docs.git
http://www.google.com/intl/pt-BR_ALL/insidesearch/tipstricks/all.html