-
Github와 Repository란? Github에서의 협업에 관한 모든 것ETC/Git & Github 2024. 1. 26. 02:09반응형
GitHub와 Repository
GitHub는 Git을 기반으로 하는 웹 기반 호스팅 서비스로, 개발자들이 버전 관리 및 협업을 위해 사용하는 대표적인 플랫폼이다. GitHub에서의 저장소는 개발 프로젝트의 모든 파일과 폴더, 커밋 기록, 이슈, 브랜치 등의 정보를 포함한다.
GitHub에서의 협업
GitHub를 통해 다수의 개발자가 함께 작업할 수 있다. 보편적인 방법으로는, 각 개발자는 별도의 브랜치를 만들어 개발하고, pull request로 메인 브랜치로 병합해서 변경 사항을 통합하는 과정으로 개발한다.
1. GitHub의 이슈
GitHub의 이슈(Issue)는 버그 리포트, 기능 제안, 개발자들 간의 토론 등을 추적하는 데 사용된다. 미션의 체크포인트와 같은 방식으로 사용해도 좋다.
2. GitHub의 Pull Request❗
Pull Request는 개발자가 자신의 브랜치에서 작업한 내용을 메인 브랜치로 병합하도록 요청하는 기능이다. 이를 통해 다른 팀원들이 작업한 내용을 리뷰하고 통합할 수 있다.
예를 들어, 신입 개발자 박민성이 회사에 들어가서 회사의 주력 프로그램의 버그 수정 업무를 맡았다고 가정하자. 만약 branch에서 버그를 잡고 내가 바로 main에 merge해버린다면, 그 코드가 프로그램에 바로 반영이 될 것이다. 그러면 만약 수정한 코드에도 버그가 있었다면 프로그램이 통째로 다운될 수도 있고 이건 막대한 손실을 회사에 안겨줄 것이다.
이런 문제를 미연에 방지하기 위해서 pull request라는 기능을 사용한다고 보면 된다. main에 바로 merge하지 못하고 pull request를 보내면, 결정자가 박민성이 작성한 request 리포트를 읽고, 코드도 확인한 뒤 merge할지, 안할지 결정할 수 있는 단계이다. 협업에 아주 필수적인 기능이라고 보면된다!
3. GitHub의 클론
GitHub에서의 클론은 원격 저장소에 있는 프로젝트를 로컬 환경으로 복제하는 것을 말한다. 이를 통해 로컬에서 개발하고 변경 사항을 커밋한 후, 다시 원격 저장소로 푸시하여 협업할 수 있다.
4. GitHub의 Fork
Fork는 다른 개발자의 저장소를 자신의 계정으로 복제하는 기능이다. 이를 통해 원본 저장소와 독립적으로 개발할 수 있으며, 변경 사항을 원본 저장소로 다시 보낼 수 있다.
github 상에서 organization에서 레포를 파서 개발하고, 그 작업물을 나의 레포로 가져오고 싶을 때 이 기능을 사용할 수 있다!
gist.github.com
gist.github.com은 GitHub의 서브서비스로, 코드 스니펫이나 작은 코드 조각을 공유하고 저장할 수 있는 웹 호스팅 서비스이다.
gist의 특징
- 개발자는 Gist를 사용하여 코드 조각, 설정 파일, 에러 로그 등을 저장하고 공유할 수 있다. 각 Gist는 자체 Git 리포지토리이며 클론할 수 있다.
- Gist의 URL을 통해 누구나 해당 코드를 볼 수 있으며, 댓글도 남길 수 있다. 또한, embed 코드를 제공해 다른 웹페이지에 직접 삽입할 수도 있다.
- 비공개 Gist를 생성하여 특정 사람과만 공유할 수 있으며, 이는 외부에 공개되지 않는다.
- Gist는 Git을 기반으로 하므로 이전 버전의 코드로 돌아갈 수 있는 기능도 제공한다.
- 하나의 Gist 안에 여러 개의 파일을 저장할 수 있으므로, 다양한 언어의 코드나 파일을 함께 관리할 수 있다.
gist와 vscode 개발환경 세팅
다른 캠퍼분이 공유한 Gist - VSCode 연동법 을 순서대로 따라가 처음써보는 gist를 나의 vscode에 연동을 마쳤다. 처음에 clone한 폴더로 들어가지 않고 git add . 명령어를 실행한 덕에 오류가 많이 났다.
스택오버플로우에 나와 똑같은 상황의 질문이 있어 거기서 시키는 대로 연결을 모두 삭제한 다음 폴더를 다시 만들어서 git bash를 통해 git clone을 하니 간단하게 해결되었다. 간단한 내용을 commit 하고 push해보고 웹사이트 들어가서 반영되었는지 확인하는 식으로 push가 잘 되는지 체크해 보았다.
git clone 원리와 git 명령어
Git clone은 원격 저장소에 있는 코드를 내 컴퓨터로 가져오는 작업이다. 다른 사람이나 팀원들이 작성한 코드를 내 로컬 컴퓨터로 복사하는 것이다.
git clone을 하면, 원격 저장소에 있는 모든 파일과 코드를 내 컴퓨터로 다운로드 받아온다. 그리고 다운로드 받은 코드들은 나의 로컬 환경에 자동으로 git으로 관리되는 디렉토리로 저장된다.
그리고 나서, 내가 로컬에서 그 코드들을 수정하고 변경하고 싶으면 할 수 있다. 그리고 그 변경사항들은 모두 로컬 저장소에서 추적되어진다.
그리고, git push 명령어를 사용해서 내가 변경한 내용들을 다시 원격 저장소로 올릴 수 있다. 그러면 다른 사람들도 나의 변경사항들을 볼 수 있게 된다.
git clone은 협업하는데 있어서 매우 중요한 명령어인 것이다. 다른 사람들과 함께 코드를 공유하고 관리하는데 도움이 되는 멋진 기능이다.
- add : 페이지 하단부 피어세션 탭에 정리
- commit : 페이지 하단부 피어세션 탭에 정리
- branch: 현재 사용 가능한 브랜치들의 목록을 보여준다.
- checkout (또는 switch): 브랜치를 변경하거나 특정 커밋으로 돌아가는 명령어다. 다른 브랜치로 이동하려면 git checkout 브랜치이름을 입력한다. 특정 커밋으로 돌아가려면 git checkout 커밋해시를 사용한다.
- push : 페이지 하단부 피어세션 탭에 정리
- pull: 원격 저장소에서 변경된 내용들이 로컬 브랜치에 반영된다.
반응형'ETC > Git & Github' 카테고리의 다른 글
버전관리 도구 Git이란? Git의 내부구조 파헤치기 (0) 2024.01.26