이번 주에는 특히 Git 원격 작업을 통해 Git에 대한 이해를 깊게 했습니다. 전제 조건으로, 원격을 다룰 때 Git 병합에 대한 지식이 필수적입니다. 지난주에 저는 Git merge에 대한 첫 경험을 공유하고 몇 가지 모범 사례에 대해 논의했습니다. 이번 주에는 내 저장소가 아닌 공동 작업자의 저장소인 내 친구 Mayank의 저장소에서 새로운 기능을 작업하면서 해당 지식을 적용했습니다. 동시에 그는 내 저장소의 기능을 작업하여 Git을 사용하여 원격 협업을 연습할 수 있게 했습니다.
현재 제가 지난 몇 주 동안 개발한 도구는 사용자가 특정 인수를 제공하지 않을 때 적용되는 온도 및 모델과 같은 옵션에 대한 기본 값 세트를 사용합니다. 이 새로운 기능의 목표는 사용자의 홈 디렉터리에 있는 TOML 파일에서 구성 설정을 읽는 지원을 추가하여 도구의 기능을 확장하는 것이었습니다.
예를 들어 사용자가 C:\User\Anh\config.toml에 구성 파일을 가지고 있는 경우 도구는 이제 사용자의 홈 디렉터리에 .toml 파일이 있는지 확인합니다. 이러한 파일이 있으면 도구는 파일을 읽고 해당 값을 적용하여 기본 구성을 설정하고 기본 제공 기본값을 재정의합니다. 그러나 사용자는 여전히 TOML 파일 값보다 우선하는 명령줄 인수를 제공할 수 있습니다.
이 기능을 구현하기 위해 toml 패키지를 활용하여 TOML 구성 파일의 내용을 구문 분석했습니다.
import * as toml from 'toml';
도구가 사용자의 홈 디렉터리에서 .toml 파일을 검색하므로 Node.js에 내장된 os 모듈을 사용하여 홈 디렉터리 경로를 검색했습니다.
const os = require("os"); const homeDir = os.homedir();
사용자의 홈 디렉터리에서 모든 파일을 수집한 후 해당 파일을 반복하여 .toml로 끝나는 숨겨진 파일(점으로 시작하는 파일)을 찾았습니다. 발견된 첫 번째 .toml 파일은 도구의 구성 소스로 사용되었습니다.
앞서 언급했듯이 이번 주에는 Git 원격 워크플로와 Git을 Mayank와 병합하는 연습이 포함되었습니다. 그의 저장소에 있는 기능을 작업하기 위해 다음 단계를 따랐습니다.
git push origin
Mayank가 자신의 변경 사항을 새 브랜치에 푸시하고 PR(풀 요청)을 요청한 후 병합하기 전에 그의 코드를 테스트하고 싶었습니다. 이것이 git 원격이 필수가 된 곳입니다:
git remote add
git fetch
git checkout -b/
테스트 중에 Mayank 지점에서 두 가지 주요 문제를 확인했습니다.
// Resolve the path to the configuration file const configPath = path.resolve(__dirname, "../.toml"); // Load configuration from config.toml const config = loadConfig(configPath);
이러한 문제를 파악한 후 Slack을 통해 Mayank와 논의하고 협업하여 해결책을 찾았습니다. 나는 또한 그의 끌어오기 요청에 대해 직접 피드백을 제공했습니다. 이 과정을 통해 마치 실제 협업 프로젝트에 기여하고 있는 듯한 느낌이 들었습니다. 수정 사항이 만족스러우면 그의 브랜치를 메인 브랜치에 병합하고 원격 저장소에 푸시했습니다.
Git 원격 작업 및 병합 과정은 매우 교육적이었습니다. 이제 공유 코드베이스에서 협업하는 데 더 자신감이 생겼습니다. 이전에는 여러 개발자의 여러 커밋과 기여로 인해 압도당하는 경우가 많았지만 이제는 Git 워크플로를 더 잘 제어하고 이해할 수 있게 되었습니다.
이 기능을 작업하고 Git 원격을 통합함으로써 향후 프로젝트에 매우 귀중한 실무 경험을 얻었습니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3