Pra quem quiser contribuir pras libs usando git

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Pra quem quiser contribuir pras libs usando git

Mensagem por JoséQuintas »

Dá pra usar git com github ou source-forge.
Mesmo esquema pra HWGUI no sourceforge ou OOHG no github, com pequena variação.
No caso da HWGUI estou usando github + sourceforge simultâneos.

Muita atenção, porque errar pode ser desastroso.

No programa git, visualize all brachs history.
git1.png
Esse é o histórico das alterações, CADA vez que salva alterações.
Apesar do trabalho a mais, simplifica o histórico pra conferência futura.
É MINHA CÓPIA, NÃO O ORIGINAL.
Fiz a alteração e enviei o pull request.
Continuam sendo cópias diferentes, o histórico do meu vai ser diferente do original, mesmo com a integração.

Aí uso o RESET MAIN BRANCH TO HERE
Isso significa jogar fora tudo que foi alterado depois.
Meu fork volta a ficar igual o original, mas numa situação anterior.

Código: Selecionar todos

d:\github\oohg\samples>git pull https://github.com/oohg/samples
Com esse comando, eu puxo as alterações da OOHG original pra dentro do minha cópia LOCAL.
Eu já tinha feito isso quando postei a imagem anterior.
Novamente:
gitx.png
O que significa esssa imagem ?

A partir da situação anterior, surgiram 2 novas situações

1) O remote/origin/main indica que é a situação salva no github, a anterior original, acrescentada minha alteração

2) Essa é a nova situação LOCAL, aqui na máquina, é a cópia da original, acrescentada da alteração que enviei e virou parte dela
Traduzindo: é equivalente a original com a atualização da original, o que a torna uma cópia da original
force.png
Agora pra salvar no github, se eu salvar direto vai dar erro, porque deixou de ser continuação da anterior.
Preciso marcar esse "force overwrite existing branch(may discard changes)
Esse texto diz tudo: ao salvar diferente, vai se perder tudo que foi alterado antes, ok, é isso que eu quero.

remotegit.png
Vejam a nova situação:
(Main) que é a situação local está exatamente igual (remote/origin/main) que é a situação salva no github.

Neste momento dá pra mudar de idéia, e mudar as coisas.
Se tudo ok, fim, não precisa fazer mais nada.
final.png
Fechando tudo e abrindo de novo, encerrado, só está valendo o que escolhi.
Voltou a ser uma cópia exata da OOHG original.

Coleçãozinha de comandos do git pra isso, fora do visual:

Trazer atualizações:

git pull -> puxa do endereço meu do github
git pull endereço -> puxa de outro endereço diferente do meu
git svn fetch -> no caso da hwgui, puxa da hwgui original sourceforge

Salvar atualizações:

git push -> salva no github
git svn dcommit -> salva no sourceforge

Naquele programa visual, só github.
git reset main branch to here -> altera a posição no fonte, algo como restaurar um backup daquela posição
git commit -> salva LOCAL
git push -> salva remoto no github e precisa do "force" caso você tenha tornado um outro backup como situação atual, pro github esquecer do que ele tinha antes e considerar a nova situação como base.


Esssas coisas são úteis pra algo mais também.
Suponha que o harbour tenha sido liberado com bug, ou hwgui, ou minigui, ou seja o que for (desde que salvo no github).
Esse "reset main branch to here" vai servir pra voltar a versão anterior.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Pra quem quiser contribuir pras libs usando git

Mensagem por JoséQuintas »

Lembrando...

Isso vale pra fontes de trabalho
Por exemplo, todos os meus fontes são salvos no github.
Lógico... projetos particulares ficam visíveis só pra mim, projetos públicos ficam visíveis pra todos.

Isso daí parece complicado no começo.
Quando a gente começa a salvar coisa todo dia, não tem jeito, a gente acostuma e se torna fácil.

Também dá pra reescrever o histórico, juntar alterações, separar alterações, alterar a ordem das alterações, excluir uma alteração, aplicar alterações de um "ramo" em outro (tipo voltar o harbour original, atualizar, e reaplicar minhas alterações)

É muito útil isso.
É alterar fontes sem medo de estragar, porque em caso de problemas volta a situação anterior, ou compara pra ver o que mexeu, etc.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Pra quem quiser contribuir pras libs usando git

Mensagem por JoséQuintas »

hwgui.png
Pra curiosidade o da hwgui.
Tem 3 posições, no momento as 3 no mesmo lugar

- main - posição local
- remotes/git-svn -> posição no sourceforge
- remotes/main/main -> posição no github

Nenhum programa adicional pra sourceforge, só o git mesmo.

Nesse caso, fica disponível pra quem quiser usar o git em sourceforge: hwgui, xharbour, IDE de minigui, e outros.
Melhor do que ficar instalando vários programas.
E do mesmo jeito que faço, pode pegar do sourceforge e salvar no github.
Eu, que estou acostumado com git, prefiro assim, se precisar.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Responder