교육

Git & GitHub 실무 활용 (GitHub 용어 정리)

ByeongJun 2023. 5. 27. 15:03
반응형

GitHub

분산 버전 관리 툴인 Git 저장소 호스팅을 지원하는 웹서비스로 영리 목적 서비스와 오픈소스를 위한
무상 서비스를 모두 제공

(2019년부터 private 소스들도 무료 업로드 가능)

 

 

 

특징

  • GUI
    Git이 텍스트 명령어 입력 방식인데 반해, GitHub는 GUI 제공

  • 오픈소스 기여
    전세계에서 진행되는 오픈소스 프로젝트가 많이 모여있어 이에 참여하고 오픈소스에 기여할 수 있는 기회가 있음

  • 소스제공 편의
    GitHub를 이용해 자신이 작성했던 코드 그 자체를 곧바로 제공 가능

  • 자체 Git 서버 보다 GitHub 선호 추세 (오픈소스 성지)

 

용어

  • Fork
    다른 사람의 저장소를 복사하는 기능

  • Pull Request
    포크한 저장소를 수정해 다시 원본 저장소에 병합해달라는 요청을 보내
    사용자 사이의 상호작용을 일으키게 하는 기능

  • Issues
    저장소 안에서 사용자들 사이의 문제를 논의하는 기능

  • Wiki
    저장소와 관련된 체계적인 기록을 남기는 기능

 

 

 

저장소 구분 특징
공개 원격 저장소
(public)
- 저장소 관리자, 협업자 이외에는 쓰기 권한이 없음
- GitHub 사용자라면 누구나 읽기 권한과 포크 권한 있음
- GitHub 사용자 누구에게든 소유권을 이전할 수 있음
비공개 원격 저장소
(private)
- 관리자가 지정한 협업자만 접근해서 다룰 수 있음
- 지정한 협업자에게만 Fork 기능이 열려 있음
상호작용을 위한 Git 명령어
내용 복사 Git clone 원격 저장소의 모든 내용을 로컬 저장소로 복사
원격 저장소 연결 Git remote 로컬 저장소를 특정 원격 저장소와 연결
원격 저장소에 내역 제출 Git push 로컬 저장소의 내용을 보내거나 로컬 저장소의 변경 사항을 원격 저장소로 보냄
원격 저장소와 비교 Git fetch 로컬 저장소와 원격 저장소의 변경 사항이 다를 때 이를 비교 대조하고
git merge 명령어와 함께 최신 데이터를 반영하거나 충돌 문제 등을 해결 (병합X)
원격 저장소와 동기화 Git pull Git remote 명령을 통해 서로 연결된 원격 저장소의 최신 내용을
로컬 저장소로 가져오면서 병합 (Git push와 반대 성격의 명령어)

어떤 내용이 병합되면서 바뀌게 되는지 가시적이지 않음

 

 

 

상호작용을 위한 Git 명령어 - git clone

- GitHub의 원격 저장소로부터 cloning data를 받음

- 인증해야 될 경우 GitHub의 아이디, 패스워드 입력

 

 

 

상호작용을 위한 Git 명령어 - git push

- README.md 파일 추가 및 내용 수정

- README.md를 로컬 저장소에 add & commit

- README.md를 원격 저장소에 push

 

 

 

상호작용을 위한 Git 명령어 - git push

 

$ git push kosat --all 입력하니 왼쪽 사진과 같은 창이 나타났다.

Sign in with your browser 버튼을 눌러 진행하면 오른쪽 사진과 동일하게 연결된다.

 

 

 

 

상호작용을 위한 Git 명령어 - git fetch & pull

 

- Pull의 경우 어떠한 부분이 변동되어 병합되었는지 세세히 알 수 없으므로

  fetch로 원격저장소의 commit을 가져오고 로컬 저장소에서 확인 후 수동으로 병합 추천 

- Git pull을 실행하여 원격 저장소의 내용을 가져와 동시에 병합

- Branch 확인 후 git merge [space bar] [tab] 명령으로 병합 대상 확인

 

 

반응형