Coding Note

[Git] 깃 본문

SpringBoot/Git

[Git] 깃

jinnkim 2022. 7. 4. 14:25

 

 

 

개인 작업과 협업 시에 깃 활용법에 있어서 혼란이 생겼다.

다시 정리해서 정확히 알고 가고자 한다.

 


 

Git

소스코드를 효과적으로 관리하기 위해 개발된 분산형 버전 관리 시스템

 

 

장점

- 코드 변경 이력 확인

- 파일이 변경 이력 별로 저장됨

- 협업시 유용

- 포트폴리오로 사용

 

 

 

원격 저장소와 로컬 저장소

원격 저장소(Remote Repository)

- 협업 저장소

- Github Repository

 

 

로컬 저장소(Local Repository)

- 개인 저장소

- PC

 

 

저장소 생성

1. Github에서 저장소 생성

2. 원격 저장소 복사(Git Clone)

 

 

즉, 개인 작업 커밋시 원격 저장소를 클론 받아 오지 않고 바로 커밋한다.

올라져 있는 코드가 없기 때문에 클론 받을 필요 없음. 

 

하지만 협업 시 타인에 코드가 업로드되어있는 경우 클론 받고 작업 진행하면 된다.

 

 

만약 저장소에 각 개인 디렉터리를 생성하고 해당 디렉터리에 커밋하고 싶을 경우엔 아래 절차로 진행하면 된다.

(특정 디렉터리에만 커밋)

 

1. 클론 받는다.

git clone "연결할 원격 리퍼지토리 주소)

2. 해당 디렉터리에 개인 폴더를 생성하거나 홈페이지에서 디렉토리를 생성한다.

3. 해당 디렉토리 경로로 워크스페이스로 지정하고 작업한다.

4. 커밋한다.

 

 

 

 

-- 이 부분에서 헤매다가 결국 스터디원한테 도움받았다. 또 하나 배웠다.

 

 

 

커밋(Commit)

- 파일 및 폴더의 추가/변경 사항을 저장소에 기록하는 명령어

 

git commit -m "메시지" :  커밋시 메세지 필수!

 

 

 

로컬 저장소에서 인덱스에 파일을 업로드하고 커밋한다.

 

저장소에 변경사항을 기록하기 위해서는 기록하고자 하는 모든 변경사항들이 인덱스에 존재해야 한다.

1. git add .

2. git commit -m " "

3. git push origin branch

 

 

 

푸시(Push) == 코드 업로드

git push origin branch명

 

풀(Pull) == 코드 업데이트 - 최신 변경 코드 다운로드

git pull

 

 

병합(Merge)

git merge

 

push시 기존 코드에서 변경사항이 있을 경우 pull을 먼저 받아 와야 한다.

안 할 시 충돌 발생

 

해결방안은 병합, 다른 사람의 업데이트 이력을 내 저장소에도 갱신받아와야 한다. 만약 병합하지 않은 채로 이력을 덮어쓰게 되면 다른 사람이 push 한 업데이트 내역이 사라진다.

 

 

 

Comments