본문 바로가기

국비지원_핀테크

3일차_ 깃, 깃허브 - clone, pull

 

 

 

 

 

테스트용 폴더 세팅

테스트용 폴더 세팅

 

깃허브에 my-project 라는 repository 생성

 

깃허브와 연동 후 확인

 

테스트 파일 생성
테스트 파일 생성
깃허브에 파일들 푸쉬

 

 

 

 

 

 

 

 

 

집에서 깃허브를 통해 학원에서 작업한 파일 내려받는다고 가정

clone 명령어를 통해 복사하여 홈 로컬에서 내려받음 ( git clone <프로젝트 HTTPS 주소> 명령어를 사용하여 프로젝트를 한번에 복사하여 내려받으면 .git 파일이 자동으로 생성되며 깃에서 관리하는 파일로 자동으로 등록된다. 이후에는 pull 과 push 로 변경사항을 내려받고 올려주고하면 된다. )

 

로컬 pc에 내려받아진 모습

 

집에서 작업한 내용을 다시 깃허브로 올려놓은 모습( clone 명령어를 통해 깃 설정도 같이 내려받았기 때문에 깃 연동을 따로 할 필요 없이 푸쉬를 진행할 수 있다. )

 

 

 

 

 

 

 

 

 

학원에서 깃허브를 통해 집에서 작업한 내용을 다시 내려받는 상황

여기서 clone 을 사용하지 않고 pull 을 사용하는 이유는 이미 깃으로 관리되고 있으며 clone 명령어는 해당 프로젝트의 모든 내용을 내려받는 명령어이기 때문에 변경사항만 받아오는 pull 명령어를 사용

 

 

 

 

 

 

 

 

 

 

 

만약 깃허브에 push 를 진행할 때 만약 다른 작업자가 내가 작업하는 중간에 푸쉬를 진행했다면 깃허브에 남은 커밋 로그보다 내가 작업중인 커밋 로그가 이전 시점이기 때문에 푸쉬가 불가능하다.

> 위 경우는 git pull 을 사용해서 변경된 내용을 내 로컬로 병합한 뒤 다시 git push 로 깃허브에 올려 놓는다.

> 만약 깃허브의 추가된 커밋이 필요 없고 내 로컬의 작업만 강제로 등록한다면 git push -f 옵션을 사용한다.

( -f 옵션을 사용하면 이전의 깃허브 기록이 내 기록으로 강제로 바뀐다 )

 

 

 

 

 

 

 

 

실습 예제

 

 

 

 

 

 

 

 

1. 실습 풀이

작업 디렉토리 생성 및 깃허브 원격지 등록

 

깃에 add, commit 진행 후 깃허브에 push

 

 

2. 실습 풀이

각 브랜치 생성 후 필요한 파일 생성

 

master 브랜치로 변경 후 각 브랜치의 내용 merge 하여 합친 뒤 깃허브에 푸쉬

 

정상적으로 깃허브에 푸쉬된 모습

 

 

3. 실습 풀이

testdir 에 클론 받아오기

 

클론으로 받아온 프로젝트 디렉토리로 이동, project.txt 에 내용 추가

 

project.txt 에 "공통기능 추가" 문구 추가

 

 

4. 실습 풀이

masterdir 로 돌아와 제일 처음 커밋 로그로 돌린 뒤 깃허브에 강제 푸쉬

 

깃허브에 강제 푸쉬 되어서 project.txt 빼고 다 날아간 모습

 

 

5. 실습 풀이

testdir 의 작업 내용을 깃허브로 push

 

푸쉬된 내용 깃허브에서 확인

 

다시 masterdir 로 이동하여 testdir 에서 push 한 내용 pull 로 당겨오기 및 서로 로그가 동일한지 확인

 

로그 동일한 것 확인

 

a-branch 와 b-branch 를 삭제

728x90