본문 바로가기
자바 , 기타 공부/GIT

깃 활용 2 , GITHUB

by 임지혁코딩 2024. 1. 20.

충돌을 해결하는 좋은 방법! 

 

git config --global merge.tool  kdiff3 -> kdiff3를 설치할 수 있다 .

(병합을 전문적으로 사용하는 도구이다 )

 

git mergetool -> tool을 사용해서, 병합에 대한 문제를 해결한다 . 

base - local - remote 로 이어진다. 

*충돌이란 것은, master와 exp의 변경사항이 달라지는 상황을 의미한다. 

(그 대상은 같은 파일 같은 줄 이다 ) 

이때 원하는 파일 변경을, tool로 진행함으로써, 문제를 쉽게 해결할 수 있다. 

 

2way merge는, base를 보지 않는 합병, (직접 CONFLICT를 내준다)

3way merge는 me, base, other을 모두 확인하고 병합하는 방식이다. 

-> 2개만 다르다면? 다른 사람의 수정사항을 선택 

-> 3개가 다다르다면, CONFLICT가 발생. 

->BASE와 OTHER이 같고 내가 한일이 다르다면? -> 내가한 수정사항 선택 .

 

GITHUB란, 원격 저장소를 의미한다. 

-> 버전의 BACKUP, 협업의 의미를 가진다. 

지역 저장소와 연결되고 동기화 된다. 인터넷을 통해 서로 다른 컴퓨터와 연결되기도 한다. 

-> 웹페이지를 주로 활용해서 구축한다.

 

GITHUB 

원격 저장소의 제공, 오픈소스들의 원격 저장소화 제공! 

 

FORK -> 나의 것이 된 깃을 사용할 수 있다. 

 

GIT CLONE -> 오픈소스 등의 파일을, 그대로 내 로컬 저장소에 받아올 수 있다. 

 

git checkout "원하는 commit의 log"로 -> 원하는 branch로의 이동처럼 해당 버전으로 이동할 수 있다. 

 

git remote add origin "주소" 

->현재 우리에 원격 조장소를, add시킨다. 그 주소는 "주소"이고, 별명은 origin이다. 

 

git remote -v 

-> origin의 주소 가 나온다. 

 

remote는, 가져오는 것 뿐만 아니라 연결 시키는 의미가 존재하낟. 

 

PUSH -> 나의 작업을, 원격 저장소에게 PUSH한다. 

(현재까지는 백업의 의미만을 지닌다) 

 

GIT CLONE "주소"로도 받아올 수 있다. 

GIT CLONE은 내용을 LOCAL로 가져옴과 동시에 원격 저장소와의 연결을 진행한다.

REMOTE는 , 내용은 가져오지 않고 원격 저장소와의 연결만을 진행한다. 

 

*회사에서 작업 

집이나 이런저런곳에서 작업을 막하고, PUSH는 결과적으로 젤 마지막에 한번 진행한다.

(PUSH이후 변경은 지양한다)

모든 작업의 시작은 PULL을 하고 나서, 진행한다. 

 

FETCH와 PULL의 차이는 무엇일까? 

 

FETCH는, 지역 저장소의 MASTERBRANCH는 PULL과 동일하게 같은 BRANCH를 가르킨다.

허나 PULL과의 차이는, 원격 저장소의 내용을 가져오지만, 

내 현재 BRANCH에 바로 합병해주지 않는다! 

 

그러므로 원격의 변경점 등을 확인할 수 있다.

허나 FETCH를 사용하면, MERGE도 진행해줘야한다

GIT MERGE ORIGIN/MASTER

-> ORIGIN/MASTER의 변경사항을, 내 현재 BRANCH에 가져온다. 

 

COmmit은 항상 다른 곳을 가르키지만 , tag는 그렇지 않다. 

해당 위치에 대한 , 꼬리표를 남길 수 있다. 

git checkout으로 돌아가면, 금방 돌아갈 수 있을 것이다. 

 

'자바 , 기타 공부 > GIT' 카테고리의 다른 글

GIT REBASE / GIT을 이용한 흐름 파악  (1) 2024.01.21
GIT BRANCH  (0) 2024.01.16
깃 개념  (0) 2024.01.16
깃 활용 -1 기초  (0) 2023.12.25