Clipper On Line • Ver Tópico - Tutorial básico do GIT

Tutorial básico do GIT

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

Moderador: Moderadores

 

Tutorial básico do GIT

Mensagempor JoséQuintas » 21 Jun 2015 00:15

cheguei lá, aonde comecei o uso do Harbour pra valer.
Quase 4 anos atrás.
Uma das primeiras coisas foi usar mais espaço na tela.
O sistema estava preparado pra mudança, apesar de eu nunca ter usado diferente de 33x80 (ou seria 28x80)

* 04.08.11 - 2011.08.04 - Liberacao Harbour
* 11.08.11 - 2011.08.11 - Default para 35x100


Nota:
Meus comentários aqui são propositais.
Comentei no fórum sobre deixar fontes preparados pra Harbour, mesmo usando Clipper.
Comentei também de deixar fontes organizados e limpos, que facilita.
Comentei também sobre a fase do "vai, não vai" que é complicada.
Passei por isso.
Deixei como segundo plano, mas sem abandonar a idéia ao mexer nos fontes.
Até que um dia foi, e tava tudo preparado pra isso.....

Teve até fase de instalar Harbour no cliente num dia, e retirar no outro.... fazia parte... a atualização automática ajudou muito nisso.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 14273
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 859 vezes

Tutorial básico do GIT

Mensagempor JoséQuintas » 23 Jun 2015 21:19

Uma visão depois de concluído o processamento de backups: (só a parte esquerda da tela)

git.png


Por coincidência, um arquivo de linquedição para o Clipper/Blinker.

Tamanho atual das pastas controladas no git: 62.5MB
Tamanho da pasta .git, contendo esse histórico de 7 anos: 90MB

Achei uma opção interessante, quando se está exibindo todos os ramos.

git3.png


Dentre outras opções de filtragem, tem a de nome de arquivo.

git4.png
git4.png (11.62 KiB) Visualizado 2110 vezes


Dá pra selecionar pra ver o histórico completo de um único arquivo, ou pasta, ou conjunto.

Aí descobri algo interessante sobre renomear um arquivo:
Não podia ser diferente, ao renomear, o histórico de um acaba onde começa o outro.
Mesmo assim, só indicar os dois nomes nesse filtro, e vai continuar podendo ver o histórico completo.

Não sei se mostrei antes.
A única alteração no disco é esta, e só aparece se marcar pro Windows mostrar arquivos escondidos.
E por ele estar aí, significa que essas duas pastas estão sendo controladas.

git5.png
git5.png (10.29 KiB) Visualizado 2110 vezes


Pra copiar todos os backups, desde 1998, só copiar essa pasta GIT de 90MB.
Se todas as atualizações foram salvas, nem os arquivos atuais precisa salvar.

E copiando esse .GIT pra outra pasta, pode testar comandos nela, sem interferir na pasta de trabalho.
O git sempre considera a pasta atual como sendo a controlada. (atual + subpastas)
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 14273
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 859 vezes

Tutorial básico do GIT

Mensagempor JoséQuintas » 19 Set 2016 19:54

Mais de um ano depois.
Filtrando só "commits" com alterações na classe Sefaz.

classesefaz.png


Lembrando:
isto é LOCAL, na máquina, mesmo que não seja usado um ambiente de backup na internet.
Basta o software GIT Windows.

De lá pra cá, passei a usar bitbucket.org como backup na internet.

Atualmente a pasta .GIT tem 172MB.
Simplificando: 172MB contém toda minha vida de programação, muito mais organizado do que se tivesse gravado separado.

Cabe também num mini DVD de 1.5GB, que cabe no bolso, com Harbour e tudo.

minidvd.jpg
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 14273
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 859 vezes

Tutorial básico do GIT

Mensagempor rubens » 02 Fev 2017 17:32

JoséQuintas pelo que entendi, aqui você ensina a usá-lo local. Na Máquina...
E para a internet?
Teria como no final da tarde clicar num atalho e ele fazer o upload do que foi alterado, aí chegar em casa e fazer um download para o pc de casa do que foi alterado no pc de trabalho?
Pelo que pesquisei posso usar o github, só que para projeto privado tenho que pagar uma taxa mensal... e não é tão simples assim...
Porque conforme a dificuldade da coisa fica mais fácil e rápido um hd externo..

Me lembro que quando eu compilava o acbr bastava entrar na pasta clicar com o botão direito e escolher o comando update e baixava tudo que foi atualizado.
Na teoria é para ser um negócio simples, configurar pastas e arquivos, criar um botão upload. Pronto tá nas nuvens... onde eu chegar e rodasse o aplicativo(sei lá o quê) faria o download da atualização do projeto.. Simples... mamão com açúcar... kkk

obrigado
Rubens
"Eu e minha casa servimos ao Senhor e você ???"
Avatar de usuário

rubens
Colaborador

Colaborador
 
Mensagens: 1523
Data de registro: 16 Ago 2003 09:05
Cidade/Estado: Nova Xavantina - MT
Curtiu: 75 vezes
Mens.Curtidas: 100 vezes

Tutorial básico do GIT

Mensagempor JoséQuintas » 02 Fev 2017 20:09

Na verdade o uso é sempre local.
Pra internet só tem dois comandos a mais.
Acho que neste tutorial até mostrei essa parte.
Tem repositório grátis que dá pra usar particular.

Pra enviar pra internet, push
pra puxar da internet, pull

No geral faço o seguinte:
crio um vazio na internet.
Faco download disso, criando uma nova pasta com esse download.
A partir daí, só trabalhar na pasta, atualizar pelo git igual mostrado aqui, e push/pull

Caso já tenha um projeto pronto com git, vai ter que olhar lá como fazer.
Faz anos que fiz o meu, e não lembro mais.

Não precisa criar um pra cada projeto, pode colocar todos juntos.
Mas no cliente, vão acabar aparecendo todos, se fizer isso.

Aqui é a opção grátis, a dica foi passada aqui no fórum.

https://bitbucket.org/product

Só lembrando: git é o programa que controla tudo. GITHUB ou BITBUCKET são sites e tem repositório, e aceitam atualizar tudo pelo GIT.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 14273
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 859 vezes

Tutorial básico do GIT

Mensagempor JoséQuintas » 23 Fev 2017 23:13

Uia... descobri como criar o site a partir do repositório.
Só criar um repositório com o nome do site e pronto, o que estiver lá dentro vira o site.

https://josequintas.github.io/

Fica público.... então nada de senhas. O site está aqui:

https://github.com/JoseQuintas/JoseQuintas.github.io
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 14273
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 859 vezes

Tutorial básico do GIT

Mensagempor JoséQuintas » 08 Jul 2017 23:23

Um passo a passo interessante, pra ver uma das vantagens.

Baixei o ZIP da hwgui, coloquei na pasta que tenho controlada pelo GIT (não confunda com GITHUB)
Teoricamente vou atualizar.

git1.png


Apago todos os fontes, e descompacto o arquivo ZIP "novo", e vejo as alterações.

git2.png


Vixe, não é mais novo, é mais velho.
E agora? apaguei tudo?

Simples:
Apago de novo, e digito um comando na pasta

git3.png


pronto, tudo de volta.

git4.png


Importante:
Caso tenha alterado alguma coisa, que não queira perder, é só salvar primeiro no git.
(se alterou o conteúdo de alguma pasta que faz parte do projeto)
Uma vez salvo, vai fazer parte do "retorno".

Muito prático isso, e tudo local.

Nota: apaguei novamente a pasta, pra poder postar vazia, por isso tem o comando duas vezes... e também errei na digitação, também erro de vez em quando, igual todo mundo.... rs
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 14273
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 859 vezes

Tutorial básico do GIT

Mensagempor JoséQuintas » 08 Jul 2017 23:32

Ia me esquecendo.... esssa \allguipaulo é com os arquivos praticamente originais.
Tenho a \allgui que contém alterações minhas.

Então agora o trabalho é trazer as alterações da original para a alterada.

d:\CVSFiles\AllGui>git pull \cvsfiles\allguipaulo
remote: Counting objects: 1301, done.
remote: Compressing objects: 100% (1127/1127), done.
remote: Total 1301 (delta 486), reused 541 (delta 88)
Receiving objects: 100% (1301/1301), 1.09 MiB | 0 bytes/s, done.
Resolving deltas: 100% (486/486), completed with 404 local objects.
From \cvsfiles\allguipaulo
* branch HEAD -> FETCH_HEAD
Auto-merging hmge/SOURCE/h_windows.prg
CONFLICT (content): Merge conflict in hmge/SOURCE/h_windows.prg
Auto-merging hmge/SOURCE/h_init.prg
Auto-merging hmge/SOURCE/h_error.prg
Auto-merging hmge/SOURCE/c_winxp.c
Auto-merging hmge/SOURCE/c_winapimisc.c
Auto-merging hmge/SOURCE/c_tooltip.c
Auto-merging hmge/SOURCE/c_tab.c
Auto-merging hmge/SOURCE/c_draw.c
Auto-merging hmge/SOURCE/c_controlmisc.c
Auto-merging hmge/SOURCE/HbPrinter/winprint.prg
Auto-merging hmge/SAMPLES/Advanced/Tsb_addrecord_3/demo.prg
CONFLICT (content): Merge conflict in hmge/SAMPLES/Advanced/Tsb_addrecord_3/demo.prg
Removing hmge/SAMPLES/Advanced/PdfView/PdfView_Sumatra.prg
Auto-merging hmge/Include/minigui.ch
Auto-merging hmge/Include/i_window.ch
CONFLICT (content): Merge conflict in hmge/Include/i_window.ch
Auto-merging hmge/Include/i_controlmisc.ch
Automatic merge failed; fix conflicts and then commit the result.


quase deu certo de forma automática, tem alguns arquivos que vão precisar de ajuste manual.
De qualquer jeito, mais fácil conferir somente esses fontes indicados, do que todos um a um.
Agora vai depender da alteração, pode ser que um copy desses arquivos seja suficiente.
Todas as demais alterações "se encaixaram".
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 14273
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 859 vezes

Tutorial básico do GIT

Mensagempor JoséQuintas » 08 Jul 2017 23:42

essa é uma parte que não peguei o jeito ainda, então vai do jeito antigo:

d:\CVSFiles\AllGui\hmge\Include>fc i_Controlmisc.ch \cvsfiles\allguipaulo\hmge\include\i_controlmisc.ch
Comparando os arquivos i_controlmisc.ch e \CVSFILES\ALLGUIPAULO\HMGE\INCLUDE\I_CONTROLMISC.CH
***** i_controlmisc.ch
#translate CRLF => hb_Eol()
***** \CVSFILES\ALLGUIPAULO\HMGE\INCLUDE\I_CONTROLMISC.CH
#translate CRLF => hb_OsNewLine()
#ifndef __XHARBOUR__
#define hb_OsNewLine() hb_eol()
#endif

*****


Provavelmente ajustaram os espaços em branco nessa declaração pra xHarbour, que nem existe no meu alterado.
O conflito foi justamente não poder mexer nos espaços em branco da linha, porque a linha não existe mais.
Se a linha existisse, teria integrado automático.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 14273
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 859 vezes

Tutorial básico do GIT

Mensagempor JoséQuintas » 08 Jul 2017 23:51

Também dá pra ver pelo próprio git.
É que ainda não me acostumei com isso.

Resolvendo os conflitos, é só salvar e pronto.

Nada mal, uma HMGE extended modificada ser atualizada em minutos.

É assim que os "Harbours" podem se atualizar entre si, tanto 3.2 pra 3.4 ou 3.4 pra 3.2.
Anexos
git5.png
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 14273
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 859 vezes

Tutorial básico do GIT

Mensagempor JoséQuintas » 09 Jul 2017 00:01

Só pra completar essa parte:

Veja que para o GIT não importa se está usando pastas, servidor ou internet, ele trabalha do mesmo jeito.

git clone https://github.com/vszakats/harbour-core harbour34


Isso cria a pasta harbour34 contendo.... o Harbour 3.4 óbvio.

De repente, uma alteração urgente no Harbour 3.2.... vamos coloca-la no "nosso" Harbour 3.4

git pull https://github.com/harbour/core


Pronto, feito.
Fizemos antes do Viktor.

Talvez dê pra usar isso no OneDrive, no googledrive, e teremos um repositório grátis nas nuvens.
Vale pra fontes, DBFs, EXEs, qualquer backup que queira controlar pelo GIT.
Até mesmo backup do MySQL.

Não sou expert, só conheço o básico do GIT, mas esse básico já me permite fazer muita coisa.
Como eu sempre digo: aprenda bem o básico, o resto vém com o tempo ou com a necessidade.
De um jeito ou de outro, o básico resolve.
Mas básico ruim.... aí ferrou....

Por exemplo: se a parte acima deu pane.. tudo bem o básico: restaura as pastas, tá tudo no GitHub pode apagar tudo e começar de novo.

Seus fontes particulares.... idem.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 14273
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 859 vezes

Tutorial básico do GIT

Mensagempor JoséQuintas » 05 Set 2018 09:28

Hoje uso mais que isso, se não me engano 40 x 132.

A largura de 132 é pra acomodar um relatório compactado, que caberia nas folhas de 80 colunas., pra caber o relatório inteiro na tela.
A altura de 40 foi pra acomodar telas que precisavam de mais espaço.

Nos tempos do Clipper eu usava as disponíveis para o DOS/Console que eram 25 x 80 ou 28 x 80

Num cliente novo, aplicativo próprio, acostumado com 25 x 80, fui aumentando aos poucos, acho que é aonde ainda usa 35 x 100.

Talvez nesse atual do Flagship, ao usar Harbour, comece aumentando aos poucos, pro pessoal se acostumar.

Pra quem não está acostumado, usar letra menor acaba estranhando, e sempre quer voltar pra maior.
Acredito que tenha acontecido com todo mundo aqui no fórum que usa console, quando entraram as máquinas 1024 x 768.
A gente achava a letra muito pequena, e alterava a resolução, até acostumar de vez.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 14273
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 859 vezes

Tutorial básico do GIT

Mensagempor JoséQuintas » 05 Set 2018 13:27

Que eu me lembre, comentou de usar console.

Minha rotina de mensagem é nas duas linhas inferiores, uso MaxRow() - 1 e MaxRow()
Meu Browse, é até MaxRow(), MaxCol().
Tenho um Cls(), que limpa a tela até MaxRow() - 3.

Desse modo, tanto faz o que for escolhido, as rotinas principais já acompanham o tamanho de tela.
O resto vai conforme a necessidade.

Voce poderia seguir o mesmo esquema:
Com o tempo vai usando mais linhas, se precisar.
Para o cliente, vai ser algo como versão nova, ou pra ir se acostumando.
Pelo menos não vai precisar refazer todos os fontes...
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 14273
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 859 vezes

Tutorial básico do GIT

Mensagempor rossine » 05 Set 2018 13:46

Olá,

Existe uma versão do GitGui ou alguma configuração para Português-BR ?

Obrigado,
Rossine.

Harbour 3.4, MingW / Msvc, QT, Qt5xhb, GtQtc, DbfCdx, MySql/MariaDB.
rossine
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 265
Data de registro: 06 Ago 2007 09:57
Cidade/Estado: Divinópolis-MG
Curtiu: 0 vez
Mens.Curtidas: 17 vezes

Tutorial básico do GIT

Mensagempor JoséQuintas » 05 Set 2018 13:55

Não lembro como fiz isso, mas

Se olhar os primeiros posts deste tópico, as telas estão em português.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 14273
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 859 vezes

Anterior Próximo



Retornar para Contribuições, Dicas e Tutoriais

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 1 visitante


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro