"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Git 원격을 처음 사용하는 경우

Git 원격을 처음 사용하는 경우

2024-11-08에 게시됨
검색:246

First time working with Git remote

소개

이번 주에는 특히 Git 원격 작업을 통해 Git에 대한 이해를 깊게 했습니다. 전제 조건으로, 원격을 다룰 때 Git 병합에 대한 지식이 필수적입니다. 지난주에 저는 Git merge에 대한 첫 경험을 공유하고 몇 가지 모범 사례에 대해 논의했습니다. 이번 주에는 내 저장소가 아닌 공동 작업자의 저장소인 내 친구 Mayank의 저장소에서 새로운 기능을 작업하면서 해당 지식을 적용했습니다. 동시에 그는 내 저장소의 기능을 작업하여 Git을 사용하여 원격 협업을 연습할 수 있게 했습니다.

새로운 기능: TOML 구성 지원

현재 제가 지난 몇 주 동안 개발한 도구는 사용자가 특정 인수를 제공하지 않을 때 적용되는 온도 및 모델과 같은 옵션에 대한 기본 값 세트를 사용합니다. 이 새로운 기능의 목표는 사용자의 홈 디렉터리에 있는 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 파일은 도구의 구성 소스로 사용되었습니다.

메모

  • 이 도구는 홈 디렉터리에서 TOML 형식의 기본 옵션이 포함된 숨겨진 "점 파일"(예: .config.toml)을 찾습니다.
  • 파일이 누락된 경우 도구는 이를 무시하고 config.js 파일에서와 같이 기본 설정을 계속 사용합니다.
  • 파일이 존재하지만 유효한 TOML이 아닌 경우 도구는 적절한 오류 메시지와 함께 종료됩니다.
  • TOML 파일이 존재하고 해당 값을 재정의하는 명령줄 인수가 없는 경우 TOML 파일의 설정이 사용됩니다(예: 기본 모델).
  • 이 도구는 이전 버전과의 호환성을 보장하기 위해 TOML 파일에서 인식할 수 없는 모든 옵션을 무시합니다.

원격 협업 프로세스

앞서 언급했듯이 이번 주에는 Git 원격 워크플로와 Git을 Mayank와 병합하는 연습이 포함되었습니다. 그의 저장소에 있는 기능을 작업하기 위해 다음 단계를 따랐습니다.

  1. 포크 및 복제: 그의 저장소를 포크하여 내 로컬 컴퓨터에 복제했습니다.
  2. 브랜치 생성: 로컬 복사본에 새 브랜치를 생성하고 새 기능 작업을 시작했습니다.
  3. 커밋 및 푸시: 변경한 후 해당 내용을 브랜치에 커밋하고 해당 브랜치를 포크된 저장소로 푸시했습니다.
 git push origin 

Mayank가 자신의 변경 사항을 새 브랜치에 푸시하고 PR(풀 요청)을 요청한 후 병합하기 전에 그의 코드를 테스트하고 싶었습니다. 이것이 git 원격이 필수가 된 곳입니다:

  • 원격 추가: 그의 저장소를 내 로컬 컴퓨터에 원격으로 추가했습니다.

  git remote add  


  • 커밋 가져오기: 그의 저장소에서 최신 커밋과 브랜치를 가져왔습니다.

git fetch 


  • 추적 분기: 내 저장소에 직접적인 영향을 주지 않고 업데이트를 따르기 위해 추적 분기를 만들었습니다.

git checkout -b  /


버그 식별 및 해결

테스트 중에 Mayank 지점에서 두 가지 주요 문제를 확인했습니다.

  • 디렉토리 구성 오류: 도구가 사용자의 홈 디렉터리가 아닌 프로젝트 루트에서 TOML 파일을 잘못 읽었습니다.
  • 경로 해결: 코드가 상대 파일 경로를 사용하고 있었기 때문에 내 컴퓨터에서 실행할 때 오류가 발생했습니다. 절대 경로로 전환하는 것을 제안했습니다

// 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 원격을 통합함으로써 향후 프로젝트에 매우 귀중한 실무 경험을 얻었습니다.

릴리스 선언문 이 글은 https://dev.to/anhchienvu/first-time-working-with-git-remote-5dbl?1에서 복제됩니다.1 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3