프로그래머스 2021 국민대 여름방학 인공지능 과정 1주차 Day1 TIL
파일의 변경 사항을 추적(변경사항 로그를 저장)하고
같은 파일을 여러명의 개발자가 협업하여 개발할 수 있는
분산 버전관리 시스템
Git(로컬 저장소)의 원격 저장소
깃에서 깃헙에 올려놓은(push) 소스코드들을 언제든지 로컬로 내려받을 수 있다.
(음, 휴대폰 갤러리는 로컬 저장소, 구글 드라이브는 원격 저장소)
명령프롬프트에서 지금 작업중인 폴더의 위치로 이동해
~/Baekjoon $ git init
git init 명령어를 입력해주면 해당 폴더의 로컬 저장소(레파지토리)를 생성할 수 있다.
로컬 저장소를 생성하고 나면 해당 폴더에 아래와 같이 .git 이라는 폴더가 숨긴 항목으로 생성된 것을 볼 수 있다. 이제 해당 폴더에서 발생한 수정사항들은 .git 에 저장될 수 있다.
로컬 저장소와 원격 저장소를 연결해서 깃헙에서도 파일을 관리할 수 있다.
$ git remote add [remote repository name]
로컬 저장소를 생성한 폴더는 아래와 같은 방식으로 로컬과 리모트(원격)을 오가며 파일을 관리할 수 있다.
폴더에 있는 다양한 파일들 중, 로컬 저장소에 올리고 싶은 파일들을 staging area로 올려준다
$ git add [file name]
그 다음 로컬 저장소(레파지토리, .git )에 반영하기 위해 커밋을 해준다.
$ git commit -m "[commit message]"
이제 로컬 저장소에 파일의 변경사항 및 소스코드가 반영이 되었다.
이걸 원격 저장소(remote)인 깃헙에 올리려면 푸쉬를 해주어야 한다.
$ git push [remote repository name] [branch name]
로컬 저장소의 변경사항 및 소스코드들이 원격 저장소에 반영되었다.
반대로, 원격 저장소의 변경사항 및 소스코드들을 로컬 저장소에 가져오고 싶다면
$ git fetch [remote repository name] [branch name]
분산 개발을 위한 기능
main에서 가지로 뻗어나와 독립적인 작업이 가능하다.
아래 명령어를 이용해 브랜치를 생성한다.
$ git branch [branch name]
$ git branch
명령어를 이용해 현재 존재하는 브랜치들을 확인하고
아래 명령어를 이용해 사용할 브랜치로 전환한다.
$ git checkout [branch name]
이후 브랜치에서 작업한 내용들을 main브랜치에 병합할 수 있다.
$ git merge [branch name]
처음 접했을 땐 진짜 이게 뭐지 했던게
한 번 보고 두 번 보고 억지로라도 좀 써보려고 하니 이제 조금 알겠다.
그래도 어려워