segunda-feira, 26 de outubro de 2015

Defeito, Bug ou Erro e Falhas em Teste de Software Veja a definição?



Qual o significado de Defeito, Bug ou Erro e Falhas em Teste de Software?



1) Erro é cometido por um ser humano
2) um Defeito é gerado no Sistema, quando programado de forma errada.
3) Falha é o que é retornado para o usuário através de um aviso na tela.
4) Bug é quando uma grande quantidade de erros, defeitos ou falhas são encontrados no Software. 
Para evitar essa dor de cabeça quando o seu Produto de Software for entregue, é muito útil que se use o Teste de Software, como já dissemos, durante todo o seu ALM.
Agora, vamos de definição.

Definição:

  • Um defeito é um erro ou um bug, dentro da aplicação quando ela é criada. Um desenvolvedor quando está modelando e construindo o Sistema, pode cometer enganos ou erro. Esses enganos ou erros significam que existem falhas no Sistema, tais falhas são chamadas de defeitos.
  • Quando o resultado atual desvia do resultado esperado durante os testes então isso é um defeito. Consequentemente, qualquer desvio da especificação mencionado no Documento de Especificação funcional do produto é considerado um defeto. Em empresas diferentes isso é frequentemente chamado de bug, issue, problema ou incidente.
  • Quando a Produto final não supre a expectativa do usuario final ou não respeita os Requistos Modelados, então isso resultado em um Bug ou Defeito. Esses defeitos, ou bug, ocorrem porque houve um erro de lógica ou erro no código que resulta em uma falha ou resultado imprevisivel ou imprevisto.
Informações adicionais sobre Defeitos/Bugs:

Quando uma aplicação ou um Produto de Software é testado, se um grande número de defeitos são encontrados então ela é considerada "Bugada" ou que contém um "Bug".
Quando um testador encontra um Bug ou um Defeito,é necessário informar sobre os mesmos com os desenvolvedores. Para tal, ele coloca tais defeitos em um Relatório detalhando os passos efetuados até chegar no defeito encontrado, esse Relatório tem vários nomes: Relatório de Bugs, Relatório de Issues, Relatório de Defeitos, Relatório de Problemas e etc.
Este Relatório consiste, basicamente, em conter a seguinte informação:
  • ID do Defeito – Todo Bug ou Defeito tem um número de identificação único.
  • Descrição do Defeito – A explicação sobre o que foi encontrado.
  • Versão do Produto – A versão do Produto, aplicação, no qual o defeito é encontrado.
  • Detalhes Passo a passo – Os passos detalhados do problema com prints de tela anexados para que os desenvolvedores possam simular o mesmo em seu ambiente.
  • Data do Ocorrido – A data de quando o Bug foi encontrado e relatado.
  • Reportado Por – As informações do Testador que encontrou e reportou o Problema, tais como o nome e o Id do Testador.
  • Estado – O Estado do defeito como: Novo, Encaminhado à alguém, Aberto, Retestado, Verificação, Fechado, Falho, Igorado ou Deferred e etc.
  • Corrigido por – Os detalhes do desenvolvedor que corrigiu o defeito como Id e Nome do Desenvolvedor.
  • Data de Finalização – A data em que o defeito foi resolvido e a entrada finalizada.
  • Severidade – Baseado na severidade (Crítica, Principal, Menor), nos diz sobre o impacto do defeito ou bug na aplicação.
  • Prioridade – Baseado em um conjunto de prioridades (Alta, Média, Baixa), a ordem de corrigir o defeito pode ser dada



domingo, 25 de outubro de 2015

Programa para Reiniciar o Tef_Dial no Computador, Usando o instalador, mostrando o Código C#.


Aplicativo, Reiniciar Tef_Dial e o serviço Vpn no Windows.



Demostração da aplicação

     Vou mostra como fiz para construir um programa que desligue o TEF_DIAL, reinicie o serviço do Windows chamado de OPENVPNSERVICE, e ligue novamente o TEF_DIAL para corrigir erros no momento que esta passando cartão.

tela principal do aplicativo:

Figura - 01

     Como ver na tela principal da aplicação o nome principal "RETARTANDO GETCARD E SERVIÇO", o intuito como o próprio nome diz, e assim, foi construído a aplicação para reiniciar dois executáveis distintos no Windows, na tela foi criado um textbox para mostra o que esta sendo feito a cada momento de execução da aplicação.

Figura - 02

ao mesmo tempo foi colocado um botão grande para que o serviço seja reiniciado e o cliente seja liberado para sua venda.

Figura - 03


 Assim também foram criados trés chekbox para que o usuário necessite de algumas configurações amais,

Figura - 04

     O primeiro checkbox criado para ligar o Tef_Dial no processo que vai dar o stop de parada no mesmo, caso o sistema de automação tenha o comando que reinicie o mesmo como o paf-ecf devidamente homologado pelo fiscal do estado, o próximo checkbox foi criado para que o serviço da vpn seja reiniciado ou não, dependendo do Windows onde o aplicativo foi instalado e tem muito problema de conexão com o servidor que foi configurado o VPN, o outro checkbox Automaticamente ao reiniciar foi criado para que seja executado a aplicação de reinicialização não tenha a necessidade de clique no botão de "reiniciar o serviço", com isso rele automaticamente executa o que foi configurado.

Continuando com a explicação da aplicação temos um local de configuração para configurar os executáveis e o serviço que vai ser reiniciado.
clique no "<>" na parte superior da tela, como a imagem abaixo.

Figura - 05

 veja então que aparecera a tela principal de configuração como na figura abaixo.

Figura - 06

Nesta tela de configuração tem um botão "..." para procurar o executável do Tef_Dial.exe no computador que vai ser executado o programa do tef.

Figura - 07

O intuído foi para que não seja esquecido o local correto do executável Tef_Dial.exe e assim não ocorrer erros na aplicação, o próximo foi o nome do serviço no Windows para que não seja esquecido e ocasione erros na aplicação.

Caso o Ícone não seja configurado para iniciar como administrador do windows acarretar o seguinte erro na tela de apresentação da aplicação.

Figura - 08

Sua configuração deverá ser feita diretamente no ícone na área de trabalho como vou mostra a seguir.

Figura - 09

veja como deve ser feito nas propriedades do ícone acima.

Figura - 10

Caso esta configuração não seja executada o serviço do Windows não reiniciara e ao mesmo tempo ocorrera um erro na tela.

Continuando o processo de reinicialização do executável Tef_Dial, aparecera a seguinte mensagem que ele esta sendo iniciado.

Figura - 11

 Ao concluir todo o processo clique no botão de sair e a qualquer momento poderar ser iniciado novamente no ícone do Windows.

Figura - 12

Finalizando a execução da aplicação no computador do cliente.

Verificaremos agora com fazer a instalação da aplicação.

     Baixe a aplicação no seguinte endereço abaixo.

http://vciga.dyndns.org/siga1/syspaf_download/Restart_GetCard_Install_Atualizado_em_25-10-2015.exe

     Pronto agora vamos inicia o processo de instalação, ao executar o arquivo baixado aparecera a seguinte tela de apresentação.

Figura - 13

Selecione "ok" e continue em "Avançar" como na tela abaixo.

Figura - 14

Selecione aceito a instalação da aplicação.

Figura - 15

Selecione em avançar para continuar a instalação da aplicação.

Figura - 16

Caso existir a pasta Tef-Dial o sistema perguntara se a instalação sera na pasta existente.

Figura - 17

Veja que será instalado no computador, clique em avançar.

Figura - 18

Mostrando o que a instalação vai alterar no computador.

Figura - 19

Instale o "DotNetFrameWork Setup 4.0" para que a aplicação seja executada no Windows e assim concluir a instalação.
Figura - 20

Pronto agora o seu computador estará pronto para executar a aplicação de Reiniciar o Tef_Dial e o serviço do OPENVPNSERVICE.

Alguns detalhes do código fonte da aplicação.

     Vou colocar o condigo completo no GitHub no endereço.:
https://github.com/Alexssandrolima/estudos


using System.ServiceProcess;
using System.Diagnostics;
using System.IO;
using RestartGetCardServicos.Properties;


public bool Automaticamente { get; set; }
public bool Ligadosim { get; set; }

readonly string _username = Environment.ExpandEnvironmentVariables("%USERNAME%");
readonly string _userdomain = Environment.ExpandEnvironmentVariables("%USERDOMAIN%");
readonly string _varSourcePath = Environment.CurrentDirectory + "\\";
readonly string _varMachineName = Environment.MachineName;


        private void buttonSair_Click(object sender, EventArgs e)
        {
            Settings.Default.Automatica = checkBoxAutomatica.Checked;
            Settings.Default.ReiniciarVpn = checkBoxReiniciarVpn.Checked;
            Settings.Default.LigarTefDial = checkBoxLigarTefDialReiniciar.Checked;
            Settings.Default.Save();

                    listBoxPrincipal.Items.Add("Desligando o sistema ... ");
                    if (MessageBox.Show(Resources.Desejasairdosistema, Resources.SaindodoSistema, MessageBoxButtons.YesNo, MessageBoxIcon.Question).Equals(DialogResult.Yes))
                    {
                        Checharboxautomaticoligadodesligado();
                        Application.Exit();
                    }
        }




        private void buttonCancelar_Click(object sender, EventArgs e)
        {

            Settings.Default.Automatica =  checkBoxAutomatica.Checked;
            Settings.Default.ReiniciarVpn = checkBoxReiniciarVpn.Checked;
            Settings.Default.LigarTefDial = checkBoxLigarTefDialReiniciar.Checked;
            Settings.Default.Save();
            Application.Restart();
        }



        private void FormPrincipal_Load(object sender, EventArgs e)
        {
            //MessageBox.Show("_varMachineName >> " + _varMachineName);

            listBoxPrincipal.Items.Add(" Bom dia! " + _username);
            listBoxPrincipal.Items.Add(" Pressione Reiniciar Serviço no " + _userdomain);
            listBoxPrincipal.Items.Add(" ou Selecione \" Reiniciar Automaticamento ao iniciar na proxima vez! \" ");
            listBoxPrincipal.Items.Add(" Executando em: " + _varSourcePath);
            if (Automaticamente == Settings.Default.Automatica)
            {
                Ligadosim = true;
                listBoxPrincipal.Items.Add("Automatico já esta ligado ... ");
                checkBoxAutomatica.Checked = Automaticamente;
                RestartartandoServicosExecutaveis();
            }
            if(Automaticamente = Settings.Default.ReiniciarVpn)
            {
                checkBoxReiniciarVpn.Checked = true;
            }
            else
            {
                checkBoxReiniciarVpn.Checked = false;
               
            }
            if(Automaticamente = Settings.Default.LigarTefDial)
            {
                checkBoxLigarTefDialReiniciar.Checked = true;
            }
            else
            {
                checkBoxLigarTefDialReiniciar.Checked = false;
            }
        }



        private void Checharboxautomaticoligadodesligado()
        {
            if (checkBoxAutomatica.Checked)
            {
                listBoxPrincipal.Items.Add("automatico ligado ... ");
                if (!Ligadosim)
                {
                    Ligadosim = true;
                    //MessageBox.Show(" configurando o check box " + ligadosim);
                }
            }
            else
            {
                Ligadosim = false;
                //MessageBox.Show(" desconfigurando o checkbox " + ligadosim);
            }

            Settings.Default.Automatica = Ligadosim;
            Settings.Default.Save();

        }



        private void buttonIniciarServiço_Click(object sender, EventArgs e)
        {
            RestartartandoServicosExecutaveis();
        }



        private void RestartartandoServicosExecutaveis()
        {
            Settings.Default.Automatica = checkBoxAutomatica.Checked;
            Settings.Default.ReiniciarVpn = checkBoxReiniciarVpn.Checked;
            Settings.Default.LigarTefDial = checkBoxLigarTefDialReiniciar.Checked;
            Settings.Default.Save();
            listBoxPrincipal.Items.Add("Iniciando ... ");
            Nomedoservicodowindows = Settings.Default.NomedoServicoWindows;
            Nomeextensaoservico = Path.GetFileNameWithoutExtension(Nomedoservicodowindows);
            Desligarexecutavel();
            if (Automaticamente = Settings.Default.ReiniciarVpn)
            {
                Desligandoservicodowindows();
                Ligandoservicodowindows();
            }
            if (Automaticamente = Settings.Default.LigarTefDial)
            {
                Ligandoexecutavel();
            }
        }



        private void Ligandoservicodowindows()
        {
            listBoxPrincipal.Items.Add("== Começando a ligar >>" + Nomedoservicodowindows + "==");
            StopService(Nomeextensaoservico, 100000);
            listBoxPrincipal.Items.Add("== Continuando a ligar>>" + Nomedoservicodowindows + "==");
        }



        private void StopService(string serviceName, int timeoutMilliseconds)
        {
            ServiceController service = new ServiceController(serviceName);
            try
            {
                TimeSpan timeout = TimeSpan.FromMilliseconds(timeoutMilliseconds);
                service.MachineName = _varMachineName;
                listBoxPrincipal.Items.Add("== service.Start >>" + service.Status.ToString() + "==");
                service.Start();
                listBoxPrincipal.Items.Add("== service.Start >>" + service.Status.ToString() + "==");
                service.WaitForStatus(ServiceControllerStatus.Running, timeout);
                listBoxPrincipal.Items.Add("== service.Start >>" + service.Status.ToString() + "==");
                listBoxPrincipal.Items.Add("== service.Start >>" + service.Status.ToString() + "==");
            }
            catch (Exception ex)
            {
                listBoxPrincipal.Items.Add("Erro! >>" + ex.InnerException.Message + " >> " + ex.Message);
                MessageBox.Show(Resources.FormPrincipal_StopService_ErrorEncontrado + ex.InnerException.Message + ex.Message);
            }
        }



        public void StartService(string serviceName, int timeoutMilliseconds)
        {
            listBoxPrincipal.Items.Add("== Começando >>" + serviceName + " T:" + timeoutMilliseconds + "==");
            ServiceController service = new ServiceController(serviceName);
            try
            {
                TimeSpan timeout = TimeSpan.FromMilliseconds(timeoutMilliseconds);
                service.MachineName = _varMachineName;
                listBoxPrincipal.Items.Add("== service.Stop >>" + service.Status.ToString() + "==");
                service.Stop();
                service.WaitForStatus(ServiceControllerStatus.Stopped, timeout);
                listBoxPrincipal.Items.Add("== service.Stop >>" + service.Status.ToString() + "==");
            }
            catch (Exception ex)
            {
                string nomemessagem = "Erro Encontrado no serviço. >>" + ex.InnerException.Message + " >> " + ex.Message;
                listBoxPrincipal.Items.Add(nomemessagem);
                MessageBox.Show(Resources.FormPrincipal_StopService_ErrorEncontrado + ex.InnerException.Message + ex.Message);
            }
        }



        private void Ligandoexecutavel()
        {
            listBoxPrincipal.Items.Add("== Ligando >> " + NomeLocalextensao + "==");
            if (NomeLocalextensao != string.Empty)
            {
                listBoxPrincipal.Items.Add("Entrando para Ligar o serviço >>" + NomeLocalextensao);
                try
                {
                    if(File.Exists(NomeLocalextensao))
                    {
                        ProcessStartInfo startInfo = new ProcessStartInfo(NomeLocalextensao);
                        startInfo.WorkingDirectory = NomeDiretorio;
                        listBoxPrincipal.Items.Add("Processando o arquivo " + startInfo.FileName);
                        Process.Start(startInfo);
                    }

               }
                catch (Exception erro)
                {
                    #if DEBUG
                    MessageBox.Show(erro.Message + "");
                    #else
                    listBoxPrincipal.Items.Add(erro.Message + " ");
                    #endif
                }
            }
        }


        private void Desligarexecutavel()
        {
            listBoxPrincipal.Items.Add("== Desligando >> " + NomeLocalextensao + "==");
            NomeLocalextensao = Settings.Default.NomeLocalextensao;
            Nomeextensao = Path.GetFileNameWithoutExtension(NomeLocalextensao);
            NomeDiretorio = Path.GetDirectoryName(NomeLocalextensao);
            if (Nomeextensao != string.Empty)
            {
                listBoxPrincipal.Items.Add("desligando o executável >>" + Nomeextensao);
                try
                {
                    var processes = Process.GetProcessesByName(Nomeextensao);
                    foreach (var process in processes)
                    {
                        listBoxPrincipal.Items.Add("Parando o executavel " + process.ProcessName);
                        process.Kill();
                    }
                }
                catch (Exception error)
                {
                    listBoxPrincipal.Items.Add("Erro ao Finalizar programas encontrar o arquivo " + error.Message);
                }
            }
        }


        private void labelConfiguracao_Click(object sender, EventArgs e)
        {
            listBoxPrincipal.Items.Add("== Configurando o Sistema ==");

            var configurar = new FormConfigurar();
            configurar.ShowDialog();
        }

        public string Nomedoservicodowindows { get; set; }
        public string NomeLocalextensao { get; set; }
        public string Nomeextensao { get; set; }
        public string NomeDiretorio { get; set; }
        public string Nomeextensaoservico { get; set; }


}

Configurando o sistema com o FormConfigurar

using System.IO;
using RestartGetCardServicos.Properties;

        public string Filefilter = "tef_dial.exe|*.exe";
        public string FileTitle = "Pegando o arquivo executavel do tefdial.exe";
        public string FileService = "OpenVPNService.exe";
       
        private OpenFileDialog _openFile;

        private void buttonProcurarArquivo_Click(object sender, EventArgs e)
        {
            _openFile = new OpenFileDialog
            {
                InitialDirectory = "C:\\TEF_DIAL\\",
                Filter = Filefilter,
                Title = FileTitle,
                FileName = @"tef_dial.exe"
            };
            _openFile.ShowDialog();

            if (_openFile.FileName != null)
            {
                textBoxNomeLocalextensao.Text = _openFile.FileName; // aqui você pega o local + nome do arquivo completo.
                textBoxNomedoServicoWindows.Text = FileService;
            }
        }

        private void buttonCancelar_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void buttonSalvar_Click(object sender, EventArgs e)
        {
            Settings.Default.NomeLocalextensao = textBoxNomeLocalextensao.Text;
            Settings.Default.NomedoServicoWindows = textBoxNomedoServicoWindows.Text;
            Settings.Default.Save();
            Close();
        }

        private void FormConfigurar_Load(object sender, EventArgs e)
        {
            textBoxNomeLocalextensao.Text = Settings.Default.NomeLocalextensao;
            textBoxNomedoServicoWindows.Text = Settings.Default.NomedoServicoWindows;
        }






domingo, 11 de outubro de 2015

[LEIA SOBRE] - Experiencia usando o "GIT" enviando recebendo arquivos entre o computador e o servidor "Github"

GIT via comando bash





     Olá a todos, para que você esteja aqui é porque esta com alguma duvida sobre como usar o git, e ou, esta tentando aprender como usar-lo, para lhe mostrar como usar o git via comando enviando ao github vi e percebi que todo o seu aprendizado vai ser em torno de muita pratica e com isso exercita o que esta aprendendo, no que vou escrever aqui devo muito a um amigo que conheci no Face Book que se chama Gabriel Ferreira que ao iniciar seu blog fez uma postagem sobre "Instalando o Git e configurando Github no Windows". 

     Segue aqui o link para quem realmente quer aprender como configurar o Git junto com o Github em três passos.

     O que vou mostra aqui é como deve ser usado e praticado para seu exercício com os comandos de envio e recebimento de um repositório entre seu computador e o site do github. 

     No começo achei que era uma coisa de outro mundo, e também achei que ia ser muito complicado, mas na verdade para quem já usa comandos em modo texto no Linux já fica ambientado com a ferramenta do GIT BASH, como por exemplo, o que eu mais gosto de usar o "PWD" mostrando em que local estou, praticamente digitando alguns comandos você vai longe, gosto de usar outro comando, como o "LS", ou, junto com o "LS -LA", mim mostra uma lista de arquivos e suas configurações, e outro que vamos usar criar pasta como o "MKDIR" em seu o repositório, mas nada o impede de utilizar o Windows para criar alterar e modificar pastas e arquivos em seu repositório, a meu ver cada um trabalha como achar melhor, Windows ou Linux, e bem como outros programas de modificação de arquivos, como o que estou usando o Visual Studio 2010 no meu projeto de estudos para melhorar minha lógica de programação.

     Vamos ao que interessa e o resto não tem pressa, o exercício dos comandos tem que ser habitual e sempre praticado sem êxito de errar, então que o levar a uma boa pratica de uso do repositório com trocas de arquivos, que é muito usado por grandes empresas de tecnologia e programação, que todos os envolvidos tenham em mãos arquivos atualizados do projeto em andamento, e com isso adquiri uma boa experiência em usar o "GIT" junto com "GITHUB", como uma boa ferramenta para atualização de repositório de arquivos e ou programas.

     O primeiro comando que vou mostrar é para quem já tem um repositório criado no site com arquivos que foram colocados lá, ou então foi dado um fork¹ que foi dado em algum projeto que esteja a disposição para que você participe dele. Vou usar como exemplo uma pasta "estudo" que foi criado e com ele vamos clonar no computador que já esta devidamente configurando como o nosso amigo Gabriel Ferreira ensinou que não vou entrar em detalhes. 

VERIFICANDO O LOCAL NO GIT

Digite o comando:
$~ pwd

Figura - 1 

     O intuito deste comando mostra o local em que você esta no momento ou em que iniciou o git bash, o meu foi criado em uma pasta raiz "c:\ProjetosCshap\estudos\", para que fique organizado, o git bash automaticamente inicia no seguinte local "c:\users\nomedousuariodocomputador\" em seu projeto e para que não fique perdido eu criei meu local preferido de projetos. 


¹) O que é FORK




O fork consiste em realizar a cópia de um repositório de alguém, adicionando esse repositório aos nossos repositórios. Em linhas gerais, nos tornamos os ‘donos’ do repositório o qual estamos realizando o fork (mas o original se mantém intacto).

USANDO O COMANDO DE CRIAR PASTAS NO GIT

     O próximo comando a ser usado será o: 
$~ mkdir

Figura - 2

CRIANDO UMA PASTA NO GIT

Para criar uma pasta onde será clonado seu repositório.
$~ mkdir mypastadeprojetos²

²) mypastadeprojetos igual ao nome que você vai dar a pasta que vai ser criada para seu projeto.

Figura - 3

ENTRANDO EM UMA PASTA NO GIT

Entrando na pasta que foi criada:
$~ cd mypastadeprojetos

Figura - 4

VERIFICANDO O STATUS DO GIT

Verificar o status do git na sua maquina:
$~ git status

Figura - 5

INICIANDO O GIT NA PASTA QUE VAI SER USADA

Iniciando o git na sua maquina veja abaixo:
$~ git init

Figura - 6
Este comando foi criado para iniciar o git na pasta destino.

VERIFICANDO STATUS DO GIT APOS INICIADO

Verificar o status do git na sua maquina:
$~ git status

Figura - 7

ADICIONANDO O CLONE NA MAQUINA

Clonando a pasta inicial na pasta destino.
$~ git clone git@github.com:Alexssandrolima/estudos.git

Figura - 8

     Então deparei com a seguinte mensagem que não tem permissão de clonar arquivos ou pasta, não vou entrar em muito detalhe mais aqui esta o link de como liberar a chave de acesso do computador e como ensinado pelo nosso amigo Gabriel Ferreira.

CLONANDO NA MAQUINA

Agora vamos realmente clonar a pasta inicial na pasta destino de sua maquina.
$~ git clone git@github.com:Alexssandrolima/estudos.git

Figura - 9

Agora sim, veja que foi criada uma pasta com o nome "estudos" no disco local do seu computador.
Com o comando:
$~ ls -la

Figura - 10

MOSTRANDO AS PASTA CRIADOS EM MINHA MAQUINA

Mostrando de um angulo melhor para que entenda que foi criada a pasta que recebeu o seu repositório.

Figura - 11

Verificando novamente o seu status do projeto.
$~ git status

Figura - 12

Com este comando verificamos que a pasta foi criada e que já estão no repositório local.

ENTRANDO NA PASTA LOCAL QUE FOI CRIADO

Agora vamos entrar na pasta que foi clonada em seu computador.
Digite o comando:
$~ cd estudos

Figura - 13

Veja que agora você esta no local que foi clonado com o nome de pasta "estudos"

VERIFICANDO ALGUMA MODIFICAÇÃO NO GITHUB

     Olhar se tem alguma atualização no site antes de modificar algum projeto.

$~ git fetch
     O comando git fetch comunica com um repositório remoto e obtêm-se todas as informações que está naquele repositório que não está na sua atual e armazena em seu banco de dados local.

$~ git pull
     O comando git pull é basicamente uma combinação do git fetch e git comandos, onde Git vai ser trazida a partir do remoto que você especificar e, em seguida, imediatamente tenta fundi-la para o projeto que você está em mesclar.

$~ git push
    O comando git push é usado para se comunicar com outro repositório, calcular o seu banco de dados local tem que o remoto não faz, e, em seguida, empurra a diferença para o outro repositório. Ele requer acesso ao outro repositório de escrever e por isso normalmente é autenticado de alguma forma.

Figura - 14
$~ git config --global push.default matching

ENVIANDO UM ÚNICO ARQUIVO

$ git commit -m "enviando um único arquivo fase de adaptação, tipo: comitando meu primeiro arquivo"



Figura - 15
Agora veremos com ficou apos o commit.



Figura - 16

Adicionando ao git local.
$~ git add git\ criar\ remoto.txt



Figura - 17

Verificar como ficou apos o adicionar ao git local.
$~ git status



Figura - 18

Executando o seguinte comando apos ter adicionado o arquivo no git
$ git commit -m "enviando um único arquivos fase de adaptação, tipo: comitando meu primeiro arquivo"



Figura - 19

$~ git status para verificar como ficou apos comitado.



Figura - 20

Para realmente ter certeza que foi enviado para o github no seu repositório digite o seguinte comando.
$~ git push



Figura - 21

Vamos agora verificar como ficou no github apos comitado.
Toda vez que comita um arquivo ele envia o toda a informação da modificação que foi por você no arquivo editado.



Figura - 22

Concluído com sucesso modificação de um único arquivo no computador e enviado para o Github no site.
Viu com foi fácil enviar um arquivo para seu repositório no Github, com pratica, aprenderá outros comandos e outras formas de usar o Git. Abaixo vou mostra como enviar vários arquivos para o repositório.

Modificando e enviando vários arquivos

Entrei no com o Visual Studio, então modifiquei alguns dados para verificar se realmente vai ser enviado para meu repositório.
Pronto modificado com sucesso, digite o comando para verificar se tem alguma modificação no git.

$~ git status



Figura - 23

Veja que agora o "git bash" mostra todos os arquivos que foram modificados e criados como alguns novos arquivos.

$~ cd ..
$~ git add estudos



Figura - 24
Ou adicione a seguinte pasta. 
$~ git add SendEmail



Figura - 25

Verificando se os arquivos foram realmente adicionados ao git local.
$~ git status



Figura - 26

Para que seja enviado para seu repositório e que todos os envolvidos no projeto consiga verificar o que foi mudado e o que foi criado digite o comando que vou informar abaixo:

$~ git commit -m "Foi modificado a tela principal do projeto, e foi criado um grupobox para juntar os botões, e adicionado um textbox de informação na tela, tipo: comitando uma alteração no projeto".
Primeira vez que foi comitado:



Figura - 27

Segunda vez que foi comitado:


Figura - 28

Verificando se realmente foi comitado
$~ git status



Figura - 29

Verificando antes de digitar o git push



Figura - 30

Apos o git push.
$~ git push



Figura - 31
Veja agora o Github no site envia pelo Git.



Figura - 32

Pronto, enviado do disco local no seu computador para o repositório que se encontra no github.com.



Figura - 33

Alguns commits adicionados.



Figura - 34

Outros commits adicionados



Figura - 35


Obrigado! Ao que leram ate aqui, se tiver mais alguma duvida use os comentários para esclarecer melhor, que eu possa explicar sobre suas duvidas.