2022-05-04

GGAE99·2022년 5월 4일
0

진도

목록 보기
43/43

오늘은 git에대한 진도를 나갔다.
원래 github를 사용해 친구들과 게임개발을 해서 스팀에 낸적이 있었는데, 그 때의 경험이 내용을 이해하는데 많은 도움을 준 것 같다. (스팀에 Dead Lock이라구 있는데 많관부... 10만원 내서 등록했었는데 딱 10만원 벌어서ㅠㅠㅠ) 근데 사실 본인은 프로그래밍은 거의 손도 안대고, 게임 디자인이나 그래픽 요소들을 다 만들었다ㅠ. 그래도 개념이라도 이해하고 있었던게 도움은 된 것 같다.

오늘 정리할거

  1. spring으로 git세팅
  2. pull / push / branch

spring으로 git 세팅

spring으로 git 세팅을 하기전에 간단하게 spring 설정부터 확인해보자.

  1. 인코딩
    Preferences > General > Workspace
    Preferences > Editors > TextEditors > spelling
    Preferences > Web > CSS,HTML,JSP
  2. 서버설정
    Preferences > Server > Runtime Environment에 아파치 톰캣 서버 설정
  3. 메이븐
    Preferences > Maven > User Settings > 에서 메이븐 세팅xml파일 설정하기
    (spring\apache-maven-3.8.5\conf\settings.xml) 추가

spring 세팅은 이정도로 정리해두겠다.

다음은 git 세팅이다.

  1. git 윈도우 생성
    매뉴 중 Window > Perspective > Open Perspective > Other > Git으로 설정
  2. git에 올릴 프로젝트 설정
    git에 저장할 프로젝트 > 우클릭 > Team > ShareProject > 체크박스로 선택 후 설정
    (설정하면 우측 상단의 Git 창으로 이동해서 프로젝트를 Git으로 관리하는 것을 확인 가능)
  3. 프로젝트에 .gitignore 파일 생성
    파일 생성 후 '/target/' 이라는 문구 작성
    위의 작업을 하면 Git창에서 볼때 commit할 파일이 줄어들었음을 확인할 수 있음
  4. commit할 파일들을 전부 넣고 commit (V1.0)
  5. github 연동을 위해 본인 계정의 github에 새로운 repository 생성
    생성 후 제공해주는 파일 저장 주소를 복사
  6. Git창에서 연동할 프로젝트의 Remotes에서 create new remote > remote이름 설정해주고, configure fetch 선택 (push, pull을 다 해주는 프로젝트임을 명시) > 다음 창에서 아까 복사해둔 파일 저장 주소를 붙여넣기. (밑에는 password를 입력하는 창이 뜨는데, github Persnal Access Token으로 인증하면 된다. { github의 settings / Developer settings / Persnal access tokens에서 토큰 발급 }) > Finish > OK > Save and Fetch > 끝
    새로 만든 repository에서 확인 가능
  7. push Branch 'master'로 master 브랜치에 코드 넣기.

이렇게 하면 기본적인 git 세팅은 끝난다.

github에 공유된 프로젝트를 받는 경우

  1. Spring에 Git 창에서 Clone
    좌측 상단에 앞에서 3번째 아이콘을 클릭한다.
    ( Clone a git repository and add the clone to this view)
    가져올 리포지토리의 제공 주소를 복사하고, 비밀번호를 넣는다(Persnal access tokens) 하면 생성

commit / push / pull / branch

commit : 현재 진행상황을 저장
push : 저장한 진행상황을 저장소에 저장
pull : 저장소에 저장되어있는 진행상황을 가져와서 적용
branch : 다양한 버전

commit

현재 진행상황을 명시하여 저장한다.
Git 창에 Git Staging을 통해 commit할 변경사항들을 Staged Changes로 옮겨서 저장할 수 있다.
이 때 Commit Message를 반드시 작성해야 한다. ( EX) - V1.0 - jsp변경)
이 상황에서 github는 변동사항이 없다.

push

push는 commit 시켜놓은 변경사항들을 github저장소에 저장하는 역할을 한다.
Git 창에서 Push branch 'Master' 로 push할 수 있다.

pull

pull은 github에 저장되어있는 버전을 가져오는 역할을 한다.
Git 창에서 Pull을 통해 가져올 수 있다.

branch

branch는 나뭇가지라는 뜻으로, master코드를 복사해서 생성한다.
다양한 branch를 만들어서 오류가 안나도록 하고 master branch에 통합하여 사용한다.
(회원 기능 / 관리자 기능 등을 따로 개발해서 하나에 합치도록 하는게 가능)
이런식으로 데이터를 관리하면 push할때 제대로되지 않은 코드를 push할일이 없어진다.

순서

commit 후 push를 하기 위해서는 pull을 먼저 해야한다. 이전 버전이랑 맞는지 확인하고 push해야하기 때문에 pull을 먼저 해준다.
이렇게 pull을 해줄때는 경우가 몇가지 나뉘어진다.

  1. everything up to date 메세지가 나오면 pull해줄게 없는 최신버전이라는 것이다.
    확인이 됐다면 push해주면된다.
  2. pull 했을 때 result 가 Fast- forward가 나왔다면 정상적으로 pull했다는 뜻이다.
    확인하고 push 해주면 끝이다.
  3. pull 했을 때 result 가 Conflicting이 나오는 경우가 있다. 이 경우는 수정한 부분이 겹쳐서 생긴다. 같은 파일에 서로 다른 두 수정사항이 있어서 컴퓨터가 어느쪽이 옳은 수정인지 몰라서 생긴다.
    이걸 충돌이라고 한다.
    충돌을 해결하도록 코드를 작성해서 다시 커밋하고 pull해주면 정상적으로 동작한다.

Conflicting이 나오는 경우 든, 다양한 기능을 따로 구현할 때이든, branch를 사용해서 미리 시험해보고 정상작동 하는 코드만 master branch로 보내서 push하는게 제일 좋다.

여기까지 정리해봤다
안뇽

0개의 댓글