Git / GitHub
버전 관리란?
(혼자서 작업한다면 버전 관리 시스템이 없어도 괜찮지만) 팀 프로젝트의 소스 코드는 버전 1에 대해서 팀원 A와 B가 동시에 수정을 하여 각각의 버전 2 를 만든 경우 어떤 것이 최종 업데이트 파일인지 확인할 수 없는경우가 발생한다. 따라서 협업 프로젝트는 버전 관리가 필요하다고 할 수 있다.
Git
원하는 시점마다 깃발을 꽂고 깃발이 꽂힌 시점으로 자유롭게 이동 가능한 소스코드 버전 관리 시스템. 개인 컴퓨터에 저장한다면 혼자 사용할 수 있고 usb에 저장하면 휴대하고 사용할 수 있다. 구글 드라이브와 같은 서버에 올리면 팀원들과 함께 인터넷을 통한 버전 관리 가능하다.
GitHub
git 호스팅 사이트 중 하나이며 시간과 공간의 제약 없이 협업 가능하다. 공개 저장소로 만들 시 모르는 사람과도
협업이 가능하다. 누구든지 기여할 수 있는 공개저장소 프로젝트 => 오픈소스, GitLab, BitButcket등 다양한 호스팅 사이트가 있음
GitHub 가입하기
github.com에 접속하여 sign up 진행
필요한 정보 입력 후 create account, join a free plan, complete set up 클릭
기입한 email 주소로 발송 된 메일 확인하여 verify email address 클릭하면 가입 완료
Git - local repository
Git 설치
- git 다운로드 검색하여 git-scm.com/download/에 접속
- OS에 맞는 최신 버전의 git 다운로드
- 다운로드 된 파일 실행하면 아래와 같은 창이 뜬다.
- 기본 설정으로 next 및 install 버튼을 클릭해서 설치 진행 후 finish 버튼을 클릭하면 설치는 완료 되었다고 할 수 있다.
- 검색을 통해 설치 확인을 하도록 한다.
- Git Bash 실행 후 $ 옆에 git 입력
- 아래와 같이 기본 명령어에 대한 안내가 나오면 설치가 완료된 걸 확인할 수 있다.
로컬 저장소(local repository) 만들기
- 바탕 화면 > gitLocalTest > test 경로에 README.txt 파일 만들기
- txt 파일 열어 아래와 같이 적고 저장 후 닫기
- 해당 경로에서 우클릭하여 Git Bash Here 클릭
- $ 옆에 git init 입력하여 'Initialized empty Git repository' 나오면 초기화 성공
- .git 폴더 자동 생성 (Git으로 생성한 버전 정보, 원격 저장소 주소 등이 들어있는 로컬 저장소)
로컬 저장소(local repository)에 commit 만들기
- GitHub에 등록한 email, username을 사용하여 아래와 같은 명령어 입력
- $git config --global user.email "GitHub이메일"
- $git config --global user.name "GitHub이름"
- commit에 추가할 파일 선택
- $ git add README.txt 입력
- 커밋에 "first commit"이라는 상세 설명을 적어 첫번째 커밋하기 (-m : message)
- 입력 : $ git commit -m "first commit"
- 1 file changed, 1 insertion(+) 확인되면 첫번째 버전 생성 완료
- README.txt 파일을 수정한다.
- 입력1 : $ git add README.txt
- 입력2 : $ git commit -m "updated"
로컬 저장소(local repository)의 다른 커밋으로 이동하기
- $ git log 명령어로 지금까지 만든 두 개의 커밋 확인한다.
- first commit의 앞 7자리 커밋 아이디를 복사하여 checkout 명령어와 함께 입력시, 해당 커밋으로 코드를 되돌릴 수 있다. 아래 코드에서 확인 해 보자.
- 입력 : $ git checkout 2739ecd
- "HEAD is now at 2739ecd first commit" 확인
- README.txt 파일 확인 하면 first commit 상태로 돌아가 있다.
- $ git checkout - 를 입력하여 다시 최신 커밋인 두 번째 커밋으로 돌아갈 수 있다.
- README.txt 파일 확인하면 updated 상태로 돌아가 있다.
Git - remote repository
원격 저장소(remote repository)에 커밋 올리기
- GitHub에서 new repository를 클릭한다.
- repository 이름 입력 후 옵션 선택한 뒤
- create repository 클릭
- https://gitlab.com/test-group-22011712/test-project
- 이 주소를 통해 원격 저장소에 접속 가능함 (임시로 만든 주소이다.)
- 깃배쉬에 다음과 같이 입력한다.
- $ git remote add origin https://github.com/kh-bl/gitRemoteTest.git
- 로컬 저장소에 원격 저장소 주소를 입력 후
- $ git push origin master 입력 시 GitHub 로그인 창이 뜬다.
- email과 password 입력하여 로그인한다.
- GitBash에서 아래와 같은 화면 확인 후 GitHub에서 저장소 확인
▶ 원격 저장소의 커밋을 로컬 저장소에 내려받기
- 바탕 화면 > gitLocalTest > test2 경로 만들고 우클릭하여 Git Bash Here 클릭
- $ git clone https://gitlab.com/test-group-22011712/test-project.git .
- 원격 저장소 주소 뒤의 마침표의 의미는 현재 폴더를 뜻한다.
- README.txt 파일과 .git 폴더가 보이면 clone에 성공 한 것이다.
- README.txt 파일을 수정하고 저장 (확인을 위함)
- $ git add README.txt (README.txt 파일 커밋)
- $ git commit –m “test2 first commit” (커밋에 메시지로 설명 추가)
- $ git push origin master (원격 저장소에 push)
- GitHub의 원격 저장소에 들어가 “test2 first commit” 올라와 있는 것을 확인할 수 있다.
- 바탕 화면 > gitLocalTest > test 경로의 README.txt 파일은 “test2 first commit” 변경 사항이 반영되어
있지 않으므로 원격 저장소에서부터 변경사항을 반영한다. - 해당 경로에서 우클릭 Git Bash Here 클릭하여
- 입력 : $ git pull origin master (원격 저장소의 새로운 커밋을 로컬 저장소로 받아옴)
- 바탕 화면 > gitLocalTest > test 경로의 README.txt 파일을 열어 변경 사항 확인
용어 정리
- Git : 버전 관리 시스템
- GitHub : Git으로 관리하는 프로젝트를 올려둘 수 있는 사이트
- Git Bash : CLI 방식으로 Git을 사용할 수 있는 환경
- CLI(Command Line Interface) - 명령어를 입력하는 방식. GUI(Graphic User Interface) - 마우스로 클릭하는 방식.
- Commit : 버전 관리를 통해 생성 된 파일, 혹은 그 행위.
- Log : 지금까지 만든 커밋을 모두 확인하는 명령어.
- Checkout : 원하는 지점으로 파일을 되돌림.
- Local repository : 로컬 저장소. Git으로 버전 관리하는 내 컴퓨터 안의 폴더를 의미함.
- Remote repository : 원격 저장소. GitHub에서 협업하는 공간을 의미함.
- Push : 로컬 저장소의 커밋(버전 관리한 파일)을 원격 저장소에 올리는 것.
- Pull : 원격 저장소의 커밋을 로컬 저장소에 내려 받는 것.
'Programming > how to' 카테고리의 다른 글
Getter / Setter / Constructor / for 이클립스 자동완성 (0) | 2022.01.03 |
---|---|
import와 export (0) | 2021.12.16 |
푸쉬 된 GitLab 소스파일을 나의 workspace에 가져오는 방법 (0) | 2021.12.16 |