이클립스에서 GIT사용하기

🥔김감자🥔·2022년 6월 17일
3

분명히 수업시간에 이클립스에서 깃을 사용하는 법을 배웠는데.. 며칠 뒤에 사용하려니 새까맣게 까먹어버렸고..
조만간 진행할 세미 프로젝트에서 깃을 적극 사용할텐데, 미리 깃을 익혀두지 못한다면 역적되기 쉽상이라는 강사님 말씀에 미래의 나를 위해 자세하게 정리해보자!


###1. 프로젝트에 깃 연결하기
프로젝트파일 우클릭 > Team > Share Project

👇Share Project를 누르면 뜨는 팝업창

Use or create repository in parent folder of project 클릭

디렉토리 선택 후 Create Repository 클릭

여기까지 과정이 local repository를 만드는 과정이다. .git폴더를 만드는 것이 버전 관리의 시작!
Finish버튼을 누르면

프로젝트 파일명 옆에 마스터 딱지를 붙여준다. 저 대괄호의 뜻은 [지역 저장소 이름 branch이름] hello-web 지역 저장소의 브랜치 master가 성공적으로 만들어졌다.
잘 만들어졌는지 확인하는 다른 방법은 워크스페이스 디렉토리 찾아가기!

.git 폴더가 잘 보인다.(안보이면 숨긴항목 보기에 체크!)
지역 저장소 만들기 성공~!


2. .gitignore

깃은 우리 프로젝트의 변경 사항을 감지해서 이거 백업하면 어때~?하고 물어보는데 굳이 깃이 관리하지 않아도 되는 파일이 존재한다.(.class .settings .project 등) 이런 추적하지 않아도 되는 파일들을 .gitignore 파일에 작성하면 깃이 변경사항을 무시한다.

👇.gitignore파일을 프로젝트에 맞게 만들어주는 사이트👇

gitignore.io

사이트에서 예쁘게 만든 코드를 긁어서 붙여넣고 저장하면 끝!
보통은 .classpath와 .project파일도 관리하지 않는다고 한다. 개발자들이 다른 os를 쓰거나, jdk의 버전이 다르거나 하는 경우에 문제를 일으킬 수 있기 때문이다. 그렇지만 일단 나는 혼자 작업할꺼니까 소스 관리 목록에 포함하였다.

3. Commit


관리할 파일들을 Staged Changes칸에 옮기고, 오른쪽 박스에 커밋 메세지 작성, 커밋하면 끝!

히스토리 뷰에 가보면 잘 커밋된 것을 확인할 수 있다.

위 사진에서 HEAD는 현재 작업중인 브랜치를 뜻한다.

4. branch 추가 & merge

강사님께서는 branch를 꼭, 반드시, 제발 사용하라고 하셨다.. 되도록이면 master 브랜치에서 작업하지 않고, 다른 작업 브랜치를 생성해서 작업한 후 merge하는 방법을 추천(거의 권고..!)하셨다.

브랜치는 git repository나 project root(우클릭) > Team > Switch to > New Branch에서 만들 수 있다.

선택하면 이후에 뜨는 팝업창

하단에 Chech out new branch를 선택하면, 브랜치가 만들어지고 나서 바로 그 브랜치로 작업할 수 있도록 선택해준다는 뜻이다.
브랜치를 새로 만들고 나면 이렇게 브랜치 이름들이 바뀐 것을 확인할 수 있다.


이제 merge를 위해 파일에 작은 변화를 준 후 커밋을 해보았다.

현재 bug-fix브랜치로 작업하고 있기 때문에 HEAD는 bug-fix옆에 붙어있는 것을 확인할 수 있다.

merge는 누가 누구를 머지하는지가 가장 중요한데, 이럴 때는 master가 bug-fix를 merge하는 것이다. 뒤에 있는 놈이 앞에 있는 놈을 먹어버리는 것...! 할 때마다 헷갈리는 부분이니까 잘 기억해두자.

또 merge는 두가지 종류가 있다. 앞선 버전의 브랜치가 온전히 뒷 브랜치를 포함하고 있을 때는 fast-forward-merge라고 하고, 중간에 분기가 생겨서 온전히 포함한 것이 아닐 때는 merged 라고 한다.*

>>마스터가 bug-fix를 merge<<
-> bug-fix브랜치에서 check out하고, head를 master로 옮긴다.(master로 작업한다) check out은 Git Repository에서 옮겨갈 브랜치를 더블클릭해주면 된다.

👇마스터로 옮겨간 모습

이젠 bug-fix 브랜치 우클릭 > Mearge 클릭

어떤 파일이 머지되었는지 아주 친절하게 알려준다. Result에서 Fast-Forward가 되었다는 것도 확인할 수 있다.

히스토리에서 확인해보면 깰꼼하게 merge된 것을 볼 수 있다.

4. Revert Commit

깃에서 시간을 되돌리는 방법은 여러가지가 있지만, 강사님께서는 Revert Commit방식을 가장 추천하셨다. reset은 모든게 다 날아가기 때문에 굉장히 위험하다고..!
Revert Commit은 되돌린 히스토리가 남기 때문에 좀 더 안전하게 사용할 수 있다.

사용하는 방법은 되돌릴 시점의 히스토리 우클릭 > Revert Commit 클릭!

많은 부분을 손대서 이전 상태로 돌리는게 어려운 상황이 아니면 되도록 사용하지 않는걸로..! 아직은 잘못될까봐 무섭다ㅠ

5. Push

지금까지는 local repository 지역 저장소에서만 놀았다면, 이제는 내 깃헙에 연결할 차례이다.

일단, 깃헙에 repository를 새로 만든다. repository의 이름은 달라고 상관 없지만, 통일성을 위해서 똑같이 만들었다.

create를 눌러서 저장소를 만들면 저장소의 주소가 보이는데 그걸 복사하고 다시 이클립스로 돌아간다.

Remote > Create Remote > create
push와 fetch설정 둘 다 해야하는데 일단은 push부터 설정!


create버튼을 누르면 아래의 팝업창이 뜨는데 URL : Change버튼을 눌러서 url을 붙여넣어주면 된다. 지금 나는 Access token을 이미 발급받아서 연결해놓은 상황이라 하단의 user와 password가 이미 작성되어있다.

Ref mappings는 원격저장소(깃헙)에도 지역저장소랑 똑같은 이름의 브랜치를 만들꺼니? 하는 부분이다. Advanced > All Branches > Finish > Save

이제 Remotes를 보면 push(위로 향하는 빨간 화살표)와 fetch(아래로 향하는 녹색 화살표)가 보인다. 방금은 push설정만 해주었으니, fetch 우클릭 > Configure Fetch 를 눌러서 push와 같은 과정으로 설정을 마치면 된다. 이 과정은 한 번이라고 push를 한 후에 진행하여야 버튼이 활성화되니, push먼저 한 후 설정을 하자.

push 우클릭 > push 하면 드디어 push완료~!

깃헙에서도 확인할 수 있다!


일단은 이 정도만 알아도 세미 프로젝트 진행에는 문제가 없을듯 싶다. 제발..제발 역적소리 듣지 않기를... 앞으로 과제, 수업 자료들을 꼬박꼬박 올리면서 연습하기...!💪😥

profile
감자를 캐자 감자를 캐자

0개의 댓글

관련 채용 정보