분기 및 병합

3436 단어 gitopensource

소개



이번 주에 오픈 소스를 통한 여정에서 저는 브랜치를 만들고 main 에 다시 병합하는 연습을 통해 Git에 대해 더 깊이 파고들었습니다.

새로운 기능



static site generator, MINI 에서 2개의 새로운 기능을 구현하기로 결정하고 각각에 대해 다른 분기를 만들었습니다.
  • 추가 extra support for markdown
  • 사용 가능한 명령줄 옵션 목록에 --lang 추가

  • 구현



    새로운 기능을 코딩하는 것은 매우 간단했습니다. lang 플래그의 경우 다음 속성을 가진 추가 option 개체를 추가했습니다.

    l: {
        alias: "language",
        desc: "Language used when generating HTML",
        type: "string",
    },
    


    새로 추가된 옵션의 값은 생성된 HTML 파일의 언어를 지정하기 위해 processInputgenerateHTMLFile 함수 각각에 전달됩니다.

    Markdown의 인라인 코드` 구문을 지원하기 위해 정규 표현식을 사용하여 역따옴표로 묶인 텍스트의 인스턴스를 확인하고 HTML<code> 블록으로 렌더링했습니다.

    .replace(/`(.*?)`/gim, "<code>$1</code>") // replaces single backtick-enclosed text -> <code>content</code>
    


    문제 해결



    병합issue #11은 단순히 빨리 감기 병합이었기 때문에 문제가 없었지만 issue #10 에 관해서는 몇 가지 문제가 발생했습니다.

    알고보니 mini-ssg.jsmain 브랜치 모두에서 issue-10 내용을 실수로 업데이트하여 병합을 수행하려고 할 때 충돌이 발생했습니다. 나는 어디에서 변경을 하고 그 중 하나를 다른 것과 일치하도록 수정했는지 찾기 위해 역추적해야 했습니다.

    마지막 생각들



    이 경험을 통해 branchescommits가 어떻게 연결되는지, 병합하기 전에 충돌을 확인하는 것의 중요성을 더 잘 이해했습니다. 또한 명령줄에서 git diff를 사용하면 변경 사항을 빠르게 검토할 수 있다는 것을 알게 되었습니다. 프로그래머가 많은 양의 콘텐츠를 수정하는 경우 VSCode와 같은 텍스트 편집기를 사용하면 프로세스가 훨씬 간단해집니다. 차이가 나란히.

    표지 이미지 Yancy Min on Unsplash

    좋은 웹페이지 즐겨찾기