Skip to content

Instantly share code, notes, and snippets.

@BrunoCaimar
Created April 27, 2009 03:39
Show Gist options
  • Save BrunoCaimar/102316 to your computer and use it in GitHub Desktop.
Save BrunoCaimar/102316 to your computer and use it in GitHub Desktop.
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 git@github.com: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 git@github.com:kylecordes/sample1.git
-- Puxando efetivamente
git pull kyle upstream
Push - Empurrar
-----
-- Adicionando a referencia para onde voce quer empurrar
git remote add harry git@github.com: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 git@github.com
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