여러 사람들이 힘을 모아 프로젝트를 진행하려고 한다.
각자 맡은 부분을 작업을 하고 전체 파일을 중간 관리자에게 보낸다고 하자.
중간 관리자는 거기서 무슨 기능이 추가되고 수정되었으며, 어떤 점이 달라졌는 지 알아야 코드를 변경할 수 있다.
규모가 커져서 굉장히 많은 코드가 생기고 이를 관리하는 관리자는 굉장히 힘이 들 것이다.
그래서 생긴 것이 형상 관리 툴이다.
많은 형상 관리 도구가 있지만 대표적인 것은 git이라고 할 수 있다.
git은 리눅스를 만들다 생겨났다.
오픈소스계의 영원한 아이돌 리누스 토르발스는 리눅스 커널을 관리하는 기존 툴이 엉망인 것에 너무 빡친 바람에 Git이라는 소스관리 툴을 만든다. 리누스는 하도 빡친 나머지, 단 2주만에 완성하는 기염을 토했다.
- 오픈소스의 승리 중
git은 repository, 즉 저장소에 프로젝트를 저장한다.
commit으로 프로젝트에 기여하게 되면 git은 코드에서 뭐가 달라졌는 지 확인하고 자동으로 변경한다.
변경된 사항은 작업을 하고 있는 해당 원격 branch에 저장된다.
branch와 다른 branch를 merge해서 작업한 내용을 병합할 수 있다.
https://git-scm.com/downloads
해당 링크로 들어가서 개발 환경에 맞는 실행 파일을 설치한다.
실행 파일을 실행시켜 git을 설치한다.
터미널(cmd)를 실행해 아래 명령어가 제대로 실행된다면 성공이다.
git -v
https://github.com/login
위 링크를 타고 깃헙 계정을 생성하자.
생성하고 로그인하면 리포지토리를 생성해 보도록 하자.
프로필에서 your repositories에 들어가 new를 눌러서 새로운 리포지토리를 생성하자.
Repsitory name은 자기가 원하는 이름으로 설정하고
Description은 선택이니 넘어간다.
Public(공개)/Private(비공개)은 리포지토리 공개 여부를 결정하는 것이다.
다 설정했다면 create repository를 눌러서 저장소를 생성하자.
Git을 설치한 후에는 사용자 정보를 설정해야 한다.
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
저장소를 연결해 보자
먼저 저장소를 만들 경로로 이동한다.
그리고 터미널을 연다.
git remote add origin <remote_repository_URL>
git init
을 통해 저장소를 초기화 하자.
아무 파일이나 만들고 commit 을 해보자
git add .
git commit -m "<커밋 메시지>"
메인 브랜치를 생성하고 push 해보자.
git branch -M main
git push -u origin main
이렇게 하면 github 저장소에 커밋이 될 것 이다.
만약 branch를 바꾸고 싶다면 checkout
을 사용하자.
git checkout BRANCH-NAME
pr을 통해 해당 브랜치에서 어떤 일을 했는지 알 수 있고 다른 브랜치와 병합도 가능하다.
여기서 new pull request를 눌러 pr을 생성하자.
이런 식으로 제목과 설명을 추가해서 pr을 생성하고
코드에서 뭐가 달라졌는 지 확인 하고
코멘트를 작성해서 수정 사항을 알려줄 수 있다.
merge pr을 누르게 되면 다른 브랜치에서 이 브랜치에 있는 수정 사항을 가져가 병합을 할 수 있다.
https://www.freecodecamp.org/korean/news/understanding-git-basics-commands-tips-tricks/
https://namu.wiki/w/Git