Created
April 27, 2009 03:39
-
-
Save BrunoCaimar/102316 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Data --> 24/04/2009 23:57:08 | |
Webco Tech Talk - Git - Ronaldo Ferraz | |
http://www.ustream.tv/recorded/1221889 | |
Analysis of Git and Mercurial | |
http://code.google.com/p/support/wiki/DVCSAnalysis | |
Getting Started with Git and GitHub on Windows | |
http://kylecordes.com/2008/04/30/git-windows-go/ | |
Git on Windows - ScreenCast | |
http://gitcasts.com/posts/git-on-windows | |
Instalando e usando Git no Windows | |
http://blog.tinogomes.com/2008/05/11/instalando-e-usando-git-no-windows-xp/ | |
Instalando e usando Git no Windows - Segunda Edição | |
http://blog.tinogomes.com/2008/05/12/instalando-e-usando-git-no-windows-xp-se/ | |
Evolução de Versionamento de Código: GIT | |
http://tecblog.locaweb.com.br/2008/10/27/evolucao-de-versionamento-de-codigo-git/ | |
An Illustrated Guide to Git on Windows | |
http://nathanj.github.com/gitguide/index.html | |
Micro tutorial de GIT | |
http://www.akitaonrails.com/2008/4/3/micro-tutorial-de-git | |
GIT - SVN - Crash Course | |
http://git.or.cz/course/svn.html | |
Criando um novo repositório local no GIT Bash | |
---------------------------------------------- | |
mkdir -p repo/meu_projeto | |
cd repo/meu_projeto | |
git init | |
Adicionando arquivos ao repositório | |
---------------------------------------------- | |
git add . | |
Enviando as mudanças para o repositório | |
---------------------------------------------- | |
git commit -a -m “Initial Commit” | |
onde -a = detecta o que foi alterado/deletado automaticamente e inclui no lote a ser committado | |
-m '' - Mensagem que sera vinculada ao seu commit | |
Visualizando estrutura de branch do repositorio | |
----------------------------------------------- | |
git branch | |
Criando um novo branch - Segundo o que li até o momento é uma boa pratica sempre criar um branch se for mexer em algo | |
---------------------------------------------- | |
git checkout -b novo_branch | |
Voce estara automaticamente no novo branch. | |
Para voltar para o branch 'master' | |
----------------------------------- | |
git checkout master | |
-- isso é realmente impressionante. tudo é transparente. se vc faz uma alteracao em um branch e depois retorna para outro branch ele automaticamente atualiza os arquivos. sera que isso realmente funciona ? ele é esperto... se vc mexeu em algo e nao commitou ele dá um erro e nao troca pra outro branch. cool :-) | |
Para pegar as alteraçoes efetuadas em um branch | |
----------------------------------------------- | |
git rebase 'nome_do_branch' | |
-- as alteraçoes sao efetuadas diretamente no repositorio. isso é um pouco estranho. o conceito de working copy aqui acaba se perdendo... | |
-- vamos tentar gerar um conflito ? | |
-- tentando gerar um conflito entre branches para ver como o git se comporta... | |
-- tentando gerar um conflito agora no master... | |
---- conflito gerado e notificado pelo console | |
---- git decorou as regioes de conflito de forma similar ao svn | |
---- depois de resolver os conflitos aplicar o seguinte comando | |
------- git rebase --continue | |
------- antes de executar o comando acima é necessário 'avisar' o git que vc já resolveu os conflitos da seguinte forma | |
------- git add nome_do_arquivo_conflitado | |
------- depois disso sim é só rodar o git rebase --continue | |
** Acho que a maior dor de um scv continua existindo. Alguem tera que resolver os conflitos. | |
** Ainda nao consegui 'captar' muito bem onde o git ajuda nisso. No tortoiseGIT talvez isso fique mais claro. | |
?? Qual a diferença entre um rebase e um merge ? | |
Fazendo um revert... na verdade nao é bem isso... | |
----------------------- | |
-- git reset ^ | |
-- tentando de novo... com git reset --soft head^ | |
-- vale olhar com carinho esse comando reset -- git help reset | |
Tomar cuidado quando estiver usando o git bash e o tortoiseGIT pois eles sao sincronizados | |
Testando opcao --squash | |
Como sera que isso funciona... | |
se tiver dúvidas de algum comando faça: | |
----------------------------------------------- | |
git 'comando' --help | |
ou | |
git help comando | |
Exemplo: git add --help | |
git help add | |
A ajuda para o comando será exibida no seu browser | |
Push e Pull | |
----------- | |
GIT_HUB | |
------- | |
-- Crie seu fork primeiro | |
-- Clone para sua maquina direto do seu fork | |
---- git clone [email protected]:BrunoCaimar/simple-db-migrate.git | |
---- I got an error about the key in putty. ask for yes/no so I choose yes and got the error : PuTTY Fatal Error - Disconnected: No supported authentication methods available | |
Pull - Puxar | |
----- | |
-- Adicionando a referencia de onde voce quer puxar | |
git remote add upstream [email protected]:kylecordes/sample1.git | |
-- Puxando efetivamente | |
git pull kyle upstream | |
Push - Empurrar | |
----- | |
-- Adicionando a referencia para onde voce quer empurrar | |
git remote add harry [email protected]:harrycordes/odtimetracker.git | |
-- Empurrando efetivamente | |
git push harry master | |
Lidando com o seguinte erro | |
--------------------------- | |
--------------------------- | |
PuTTY Fatal Error | |
--------------------------- | |
Disconnected: No supported authentication methods available | |
--------------------------- | |
OK | |
--------------------------- | |
Veja dicas aqui... | |
Guides: Addressing authentication problems with SSH | |
http://github.com/guides/addressing-authentication-problems-with-ssh | |
Acho que isso aconteceu porque innstalei o tortoiseGit depois do msysgit e ele usa o putty. | |
Primeiro passo é testar a conexao ssh no bash. | |
-- ssh [email protected] | |
o retorno deve ser algo como: | |
-- Hi username! You've successfully authenticated, but GitHub does not provide shell access. | |
A solucao foi como dito no post acima setar a variavel de ambiente git_ssh para o path do ssh. No meu caso foi o seguinte: | |
declare -x GIT_SSH='C:\Program Files\Git\bin\ssh.exe' | |
** Ainda preciso descobrir como setar isso definitivamente | |
Dica: | |
para visualizar as variaveis de ambiente no shell use | |
- declare -x | |
** Ver o lance de'matar' o historico antes de dar um push para o github (Tutorial Locaweb) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment