Abaixo são anotações de comandos e pontos relevantes do curso.
Comparando arquivos em linha de comando nos diferentes sistemas operacionais:
Windows = FC [arquivo1] [arquivo2]Que significa File Compare
Apple e Linux = Diff -u [arquivo1] [arquivo2]
Que significa Difference
Instalando o Git
Documentação de instalação da Udacity: Git installation instructionsOu na página do Git: Getting Started - Installing Git
Para fazer o copiar e colar do GitBash fácil no Windows Copying and Pasting in Git Bash
Definindo um atalho para editor de texto na linha de comando
Se você instalou o Git Bash para o windows e deseja definir um editor de texto para chamar pela linha de comando, siga os passos abaixo:Definindo para o Sublime o alias subl
- Abra o Git Bash
- Execute o comando de alias:
- echo 'alias subl="C:/Program\ Files/Sublime\ Text\ 2/sublime_text.exe"' >> ~/.bashrc
- Importante colocar a "\" em cada espaço existente
- Importante verificar se o seu sublime está instalado no mesmo diretório, do contrário, alterar
- Feche e reabra o Git Bash
Definindo para o Visual Studio Code o alias vscode
(Confira se já não há um atalho criado para code no seu ambiente, se já existir, este passo a passo pode ser ignorado)
- Abra o Git Bash
- Execute o comando de alias :
- echo 'alias vscode="C:/Program\ Files\ \(x86\)/Microsoft\ VS\ Code/Code.exe"' >> ~/.bashrc
- Importante colocar a "\" em cada espaço existente
- Importante verificar se o seu sublime está instalado no mesmo diretório, do contrário, alterar
- Feche e reabra o Git Bash
Com que frequência fazer um commit?
Cada commit no Git,ou no TFS, podem juntar vários arquivos e é importante você pensar na organização do mesmo. O curso dá uma boa sugestão:"Uma boa regra prática é fazer um commit por alteração lógica. Por exemplo, se você corrigiu um erro de digitação, depois corrigiu um bug em uma parte separada do arquivo, deve usar um commit para cada alteração, pois eles estão logicamente separados. Se você fizer isso, cada commit terá um propósito que poderá ser facilmente entendido. O Git permite a você escrever uma mensagem curta explicando o que mudou em cada commit, e essa mensagem será mais útil se cada commit tiver uma única alteração lógica."
Udacity - Navegação de Histórico de um Commit - Um commit por alteração lógica
Comandos
Para ver todas as informações do repositório
git log --stat
Para ver diferenças entre dois commits
git diff [id1] [id2]
Para ver a diferença de um commit em relação ao seu pai(ou anterior)
git show [id]
Para adicionar um arquivo ao stage area :
git add [arquivo ou diretório]
Para remover um arquivo ou diretório ao stage area (é possível utilizar -r para ser recursivo) :
git rm [arquivo ou diretório]
Para renomear um arquivo ou diretório:
git mv [nome antigo] [nome novo]
Para adicionar todos os arquivos locais ao repositório:
git add -p
Mais informações sobre o git add.
Clonando um repositório
Clonar um repositório é fazer um cópia local para possibilitar suas alterações controlando o histórico. Para clonar um repositório basta executar o comando abaixo:git clone [urlRepositorio]
Para descobrir uma url de um repositório no GitHub é possível através do botão Clone or Download:
Restaurando estado anterior
Para restaurar os arquivos para um estado anterior use o comando:git checkout [id]
Importante entender que este checkout é diferente do checkout do SVN, Source Safe e TFS
Para desfazer alterações pendentes e voltar ao ultimo commit (CUIDADO todas altearcoes serao perdidas):
git reset --hard
git-reset Documentation
Branches
Para saber os branches disponíveis:
git branch -a
o parâmetro "-a" mostra inclusive branches remotas
o parâmetro "-a" mostra inclusive branches remotas
Para criar um branch:
git branch [nome]
Para trabalhar em uma branch em especifica:
git checkout [nome branch]
Para comparar o historico de arquivo de dois branches:
git log --graph --oneline [branch1] [branch2]
Para criar em uma branch e fazer o seu checkout:
Para criar em uma branch e fazer o seu checkout:
git checkout -b [branch]
Para excluir uma branch:
git branch -d [branch]
Para excluir uma branch:
git branch -d [branch]