Post

프로그래머스, Github Fork

프로그래머스, Github Fork

Fork

Fork

  • 다른 사람의 GitHub 저장소를 자신의 계정으로 복사하는 작업
  • 원본 저장소는 그래도두고, 복사본에서 자유롭게 변경 가능

Fork 목적

  • 기여(Contribution):
    • 포크한 후 수정하고, pull request를 보내 원본 저장소에 기여
  • 자유로운 실험:
    • 원본에 영향을 주지 않고 기능 추가나 버그 수정을 테스트
  • 오픈소스 기반의 개인 프로젝트 시작:
    • 유명 프로젝트의 코드를 바탕으로 새로운 프로젝트를 생성 시 사용



포크와 함께 작업

작업 순서

포크 → 클론 → 수정 → 커밋 → 푸시 → PR 순서

  1. 원하는 프로젝트 Fork

    Image

  2. 새로운 로컬 폴더에 연결

    새 폴더(작업공간)인지 확인
    • 숨겨져 있는 파일은 없는지 확인
      1
      
      ls -la
      
    • 다음과 같은 파일만 남겨져 있어야 함.
      Image

    • 혹여나 있다면, 다음 명령어 수행
      (해당 파일 이외의 파일 모두 삭제)
      1
      2
      
      rm -rf ./*
      rm -rf ./.*
      
    • 깃 초기화

      1
      
        git init
      
    • 로컬 폴더에 깃허브저장소(원격저장소)와 연결

      1
      
        git remote add origin git클론주소(https or ssh)
      
    • 연결 확인

      1
      
        git remote -v
      
  3. 새로운 로컬 폴더에 해당 프로젝트 클론
    . 옵션: 클론시, 폴더를 만들어 담지 않음!

    1
    
     git clone git클론주소(https or ssh) .
    
  4. 작업할 브랜치 생성

    1
    2
    3
    4
    5
    
     git checkout -b 브랜치명
        
     # 부가적으로, 환경설정  
     git config --local user.name "이름" 
     git config --local user.email "이메일"
    
    • git branch: 커밋한 브랜치 목록을 보여줌(모든 브랜치를 보여주는 것 X)

      1
      
        git branch
      
  5. 작업이후, 커밋

    1
    2
    
     git add .
     git commit -m "커밋메시지"
    
  6. 로컬 브랜치를 원격 저장소에 푸시

    1
    
     git push -u origin 브랜치명
    

    Image

  7. 복사한 내 저장소에서 원본 저장소로 PR

    Image



[추가] push vs push -u 차이

1. git push

  • 현재 브랜치의 변경 사항을 원격 저장소푸시

    1
    
      git push origin main
    
  • 매번 origin브랜치명명시해야함.

2. git push -u

  • -u: --set-upstream
  • git push를 수행하면서,
    현재 로컬 브랜치와 원격 브랜치를 연결

    1
    
      git push -u origin main
    
  • 한 번만 해두면, 다음으로 사용해도 문제 없음.

    1
    2
    
      git push
      git pull
    

This post is licensed under CC BY 4.0 by the author.