Esta semana, aprofundei meu conhecimento sobre Git, principalmente trabalhando com controles remotos Git. Como pré-requisito, a familiaridade com a fusão do Git é essencial ao lidar com controles remotos. Na semana passada, compartilhei minha primeira experiência com o Git merge e discuti algumas práticas recomendadas. Esta semana, apliquei esse conhecimento enquanto trabalhava em um novo recurso, não em meu próprio repositório, mas no repositório de um colaborador – o do meu amigo Mayank. Simultaneamente, ele trabalhou em um recurso em meu repositório, que nos permite praticar colaboração remota usando Git.
Atualmente, a ferramenta que venho desenvolvendo nas últimas semanas usa um conjunto padrão de valores para opções como temperatura e modelo, que são aplicados quando os usuários não fornecem argumentos específicos. O objetivo deste novo recurso era estender a funcionalidade da ferramenta adicionando suporte para leitura de definições de configuração de um arquivo TOML localizado no diretório inicial do usuário.
Por exemplo, se um usuário tiver um arquivo de configuração em C:\User\Anh\config.toml, a ferramenta agora verificará a existência de arquivos .toml no diretório inicial do usuário. Se tal arquivo estiver presente, a ferramenta lê o arquivo e aplica seus valores para definir configurações padrão, substituindo os padrões integrados. No entanto, os usuários ainda podem fornecer argumentos de linha de comando, que terão precedência sobre os valores do arquivo TOML.
Para implementar esse recurso, utilizei o pacote toml para analisar o conteúdo do arquivo de configuração TOML:
import * as toml from 'toml';
Como a ferramenta procurará um arquivo .toml no diretório inicial do usuário, usei o módulo os integrado do Node.js para recuperar o caminho do diretório inicial:
const os = require("os"); const homeDir = os.homedir();
Depois de reunir todos os arquivos do diretório inicial do usuário, iterei sobre eles para encontrar arquivos ocultos (aqueles que começam com um ponto .) que terminam com .toml. O primeiro arquivo .toml encontrado foi usado como fonte de configuração da ferramenta.
Como mencionado anteriormente, esta semana envolveu a prática de fluxos de trabalho remotos do Git e a fusão do Git com o Mayank. Para trabalhar em um recurso em seu repositório, segui estas etapas:
git push origin
Depois que Mayank enviou suas alterações para um novo branch e solicitou uma solicitação pull (PR), eu quis testar seu código antes de mesclar. Foi aqui que o git remote se tornou essencial:
git remote add
git fetch
git checkout -b/
Durante os testes, identifiquei dois problemas principais na filial do Mayank:
// Resolve the path to the configuration file const configPath = path.resolve(__dirname, "../.toml"); // Load configuration from config.toml const config = loadConfig(configPath);
Depois de identificar esses problemas, discuti-os com Mayank no Slack e colaborei para encontrar uma solução. Também forneci feedback diretamente sobre sua solicitação de pull. Esse processo me fez sentir como se estivesse contribuindo para um projeto colaborativo do mundo real. Quando fiquei satisfeito com as correções, mesclei seu branch no branch principal e enviei-o para meu repositório remoto.
Este processo de trabalhar com controles remotos e fusão do Git tem sido incrivelmente educativo. Agora me sinto mais confiante em colaborar em bases de código compartilhadas. Anteriormente, muitas vezes eu me sentia sobrecarregado por vários commits e contribuições de diferentes desenvolvedores, mas agora tenho melhor controle e compreensão dos fluxos de trabalho do Git.
Ao trabalhar nesse recurso e integrar controles remotos do Git, ganhei experiência prática que será inestimável para projetos futuros.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3