본문 바로가기

git

Git 시작하기2 (Mac)

0. 터미널에서 파일 생성

vim exp.txt
  • exp.txt 파일 생성
  • 내용 입력 -> esc -> :wq

1.  Branch 마스터하기

(1) 브랜치

: 기능, 작업 단위로 나뭇가지를 만들어 각자 작업을 하고, 작업이 잘 이루어졌을 때 이를 master에 합치는 것.

https://velog.io/@gil0127/Git-branch

 

(2) 브랜치 생성하기

git branch 브랜치 이름

git branch #현재 존재하는 브랜치 확인

현재 선택된 브랜치 : master

 

 

(3) 브랜치 변경하기

git checkout 전환할 브랜치 이름

 

(4) 브랜치에서 작업하기

git add test.txt  #파일을 Staging Area에 올려놓기
git commit -m "새로운 브랜치"  #작업한 내용을 저장
git push origin "새로운 브랜치 이름"  #로컬 저장소를 밀어 원격 저장소에 반영 -Pull request

 

(5) 작업한 내용 병합하기

git merge 병합할 브랜치 이름

 

(6) 브랜치 삭제하기

git branch -d 삭제할 브랜치 이름
  • 현재 선택된 브랜치는 삭제할 수 없음

 

(7) 충돌 상황 해결하기 

  • 서로 다른 브랜치에서 작업한 파일이 다를 경우 merge 기능 매우 편리
  • But, 같은 파일에서 같은 위치를 작업할 경우 충돌 발생 

    -> 수동적 처리 필요

 

예시) 

브랜치 master와 exp에서 common.txt 파일 각각 모두 같은 위치에서 작업

vim common.txt

-> 

<충돌 부분>

HEAD 아래 부분 : master 브랜치에서 작업한 부분

=======

exp 브랜치에서 작업한 부분

>>>>>>exp

 

 

 

 

 

 

 


충돌되는 부분 수정 -> 저장 -> add하고 commit

 

 

 

 

 

 

 


2. 원격 저장소 시작하기

(1) 원격 저장소 복제하기

1️⃣ 생성한 저장소를 클릭한 다음 우측 "Code" 버튼 클릭
2️⃣ 노출된 툴팁에서 HTTPS 주소를 확인, 오른쪽 [복사] 버튼 클릭
3️⃣ 해당 주소를 복사한 다음, Git Bash(터미널) 실행
4️⃣ 'git clone 저장소 주소' 입력하여 저장소 복제 

 

 

(2) 작업물을 원격 저장소에 저장하기

1️⃣ VS Code를 실행한 후, [폴더 열기] 버튼을 눌러 복제한 저장소 폴더를 불러오기
2️⃣ 새 파일을 추가해 내용 작성. 
3️⃣ Git Bash를 VS Code에서 실행. 상단 [터미널]의 [+] 버튼을 눌러 Git Bash를 실행
4️⃣ git add 명령어를 입력해 현재의 작업 상황을 Git이 추적하도록 함

git add .

- 모든 파일을 Git에서 추적
5️⃣ git commit 명령어로 작업 상황, 저장하는 내용에 대한 설명을 커밋 메시지로 작성

git commit -m "First Commit"


6️⃣커밋까지 완료했다면 로컬에서 작업한 내용을 원격 저장소에 전달

git push

 

(3) 원격 저장소의 내용을 가져오기

- 협업을 할 때 팀원이 완성해 push한 내용을 가져오거나 작업을 이어서 진행할 때 매우 중요하게 사용되는 기능

 

❶ git pull

  • 원격 저장소에서 변경된 데이터를 가져와 로컬 저장소에 병합하는 명령어
  • 충돌이 없을 때 자동으로 병합되어 로컬 저장소에 커밋되지만, 충돌이 발생했을 경우 수동으로 해결한 후 commit해야

1️⃣ GitHub 저장소를 클릭한 후, [Add file]-[Create new file]을 클릭해 test.txt 파일을 추가
2️⃣ 저장소를 복제한 폴더를 열어 둔 VS Code에서 Git Bash를 실행
3️⃣ 아래의 명령어를 입력해 GitHub 저장소에서 변경된 데이터를 가져오기

git pull

 

❷ git fetch

  • git pull과 같이 git fetch 역시 원격 저장소의 데이터를 로컬 저장소에 가져오는 기능
  • git fetch는 git pull과 달리 원격 저장소의 데이터만 확인, 변경된 데이터를 병합하지 않음
  • 즉 git pull은 원격 저장소의 데이터를 확인해 병합하는 과정으로, fetch와 merge를 한 번에 하는 과정

1️⃣ git fetch 기능을 확인하기 위해 GitHub의 데이터 중 일부를 바꾸기
✔️ hello파일에 코드 추가
✔️ GitHub에서 파일을 클릭하고 우측 상단의 [연필] 아이콘을 클릭해 자체 수정 가능

2️⃣ VS Code에서 Git Bash를 실행
3️⃣ 아래의 명령어를 입력해 GitHub에서 변경된 데이터를 확인

git fetch

- 현재 변경된 데이터가 있음을 확인
4️⃣git merge 명령어를 사용하여 확인한 내용을 로컬 저장소에 병합

git merge

- git pull과 같이 원격 저장소에서 변경된 내용이 로컬 저장소에 병합


 

 

'git' 카테고리의 다른 글

Git 시작하기1 (Mac)  (0) 2023.09.02