본문 바로가기
지식공유/JAVA

JAVA 수업 복습 정리(3)_github/git/java/jdk/프로그래밍

by 시간기억자 2024. 5. 1.
반응형

github 사용법

  • 깃허브(github) : 분산 버전 관리 툴인 깃 저장소 호스팅 기능을 제공하는 웹서비스
    - https://github.com/ 사이트 사용
  • 깃(git) : 다수의 사용자들간의 파일 작업을 조율하기 위한 분산 버전 관리 시스템(프로그램)

  • 깃허브 회원가입 후 로그인 → 저장소 만들기
    - 저장소 하나당 하나의 프로젝트를 만들어 사용하기를 권장
    - Add a README file 은 체크(프로젝트에 대한 설명을 달아주기 위해 체크)
    - Add .gitignore : 저장하지 않을 대상
    - Choose a licence : 라이센스 사용여부에 따라 선택

이클립스로 깃 사용하기

  • 이클립스에는 깃에 대한 플러그인이 제공된다.(window > show view > git)
  • Git Repositiories 뷰탭 클릭 > clone a git repository > Clone URI


  • 깃허브가 리모트 저장소를 관리 / 우리는 이클립스를 통해 로컬 저장소를 만들건데, 그게 깃허브 저장소와 연결되어야 하기 때문에 깃허브 저장소를 복사해서 만들어야 한다.
  • Clone URI(URL의 개념으로 생각)

    - Authentication
    >> User
    >> Password : 깃에 접근할 수 있는 토큰
    - Store in Secure Store : 토큰을 기억해둘것인지.(체크 안하면 추후에 토큰을 계속 물어봄)
    - branch 확인
    - Local Destination




  • 이 저장소는 나만 써야 한다. 그래서 인증을 받아야 한다.
  • 깃허브 > 우상단 메뉴 > 세팅 > Developer Settings > Personal access tokens > Tokens(classic) > Generate new tokens > New personal access token (classic)


  • - Note : 토큰을 구별하기 위한 식별자(아무거나 써도 된다)
    - select scope : 권한 범위(발급받은 토큰가지고 어디까지 권한을 줄건지 설정)
  • 토큰은 별도로 저장해서 확인해두면 좋음
    - 만약 추후에 토큰을 저장해두지도 않고 까먹었다면 새로 발급받아서 쓸수 있다.
  • branch : 저장소로 접근하는 경로
    - 최초에는 main branch 생성
    - 기본적으로 메인 브랜치는 손대는게 아니다. 그래서 별도의 브랜치를 만들어 작업한다.

  • 이클립스의 프로젝트를 로컬 저장소에 저장함
    그리고 로컬 저장소에 있는걸 리모트 저장소(깃허브 저장소)로 주면 된다.
    프로젝트 자체를 로컬 저장소로 주지 않고 바로 리모트 저장소로 보낼수는 없다.

  • 프로젝트 폴더에서 우클릭 > Team > share project > Repository 경로 선택
    - 그런데 이 작업까지 했다고 깃허브에 프로젝트가 생기지는 않는다.
  • 여기서 Git staging 뷰탭 눌러서 보면 변경사항이 보인다.
    그리고 ++ 아이콘 누르면 되고, 여기서 코멘트를 꼭 적어줘야 한다.
    commit and push
    - ++아이콘 누르는거는 Index를 붙여주는거다.

    - 이클립스에서 로컬 저장소로 보내는게 commit
    로컬 저장소에서 리모트 저장소로 보내는게 push

  • 학원에서 쓰는 로컬 저장소랑 리모트 저장소를 연결했는데,
    집에서 쓰는 로컬 저장소랑 리모트 저장소를 연결할수 있다.
    만약 집에서 작업한걸 리모트 저장소로 푸쉬했다면
    학원 컴퓨터에서는 리모트에 업데이트 된걸 당겨와야 한다.

  • fetch는 오리진에서 가지고 오는 것.
    리모트 저장소에서 로컬 저장소로 가져오는 것은 fetch
    로컬 저장소에서 이클립스로 가져오는건 pull
    그런데 pull을 하면 fetch도 작업이 된다.

  • 버전이 다르게 푸쉬를 해서 충돌이 나면 머지(merge)를 통해 해결하면 된다.
    그런데 그런 이슈를 없게 하려면 무조건 Pull부터 당겨라.
    그래서 리모트 저장소와 로컬 저장소를 똑같게 만들어야 한다.
    ⇒ 무조건 Pull부터 하고 시작해라.

집에서는 clone repository부터 하고, 마우스 우클릭 후 import repository 선택하고 프로젝트를 클릭해서 가져오면 된다.



- 현재 저장소가 클릭되어 있고 프로젝트 클릭부분은 비활성화 되어있는데, 그건 이미 컴퓨터에 프로젝트가 있기 때문에 그런거다.
그런데 집에가서 import를 하면 프로젝트를 클릭할 수 있도록 되어있을 것이다.
!! 주의 : repository를 가져오는게 아니라 프로젝트를 가져와야 한다.

 

  • 깃허브/깃
깃허브(GitHub) : 분산 버전 관리 툴인 깃 저장소 호스팅 기능을 제공하는 웹서비스
=> https://github.com/ 사이트 사용 

깃(Git) : 다수의 사용자들간의 파일 작업을 조율하기 위한 분산 버전 관리 시스템(프로그램)

- Repository 만들 때 Public / Private 설정 중요함.
일반적으로 private으로 설정한다.

  • 원칙적으로는 Repository 하나에 프로젝트 하나를 올려서 작업한다.
  • 이클립스에는 git이 설치되어있다.
  • 처음에는 git repository에 아무것도 없는데, remote repository를 연결하기 위해 local repository를 만든다.
    (clone repository 사용)

    - Source Git Repository 내의 Authentication의 User 와 Password는 깃허브 로그인하는 정보가 아니다
    >> User : 회원가입시 설정한 닉네임
    >> Password : 생성한 토큰
    >> Store in Secure Store 체크를 해야 토큰 정보를 다시 안물어본다.
    - 참고로 토큰이 한번 발급되면 다시 확인할 수 없기 때문에 개인적으로 저장을 해두는게 좋다.

    - 로컬 저장소와 리모트 저장소가 연결되어있는데, 그걸 main branch라고 한다.
  • branch가 가지고 있는걸 줄수도 있고, 받을수도 있다.

  • git staging
    - 프로젝트부터 만들어서 share project를 먼저 해준다.(share를 통해 이클립스 프로젝트를 로컬 저장소로 옮기는 거다)
    - 프로젝트 폴더(패키지)를 만들고 파일을 하나라도 만들고 share 하는걸 권장한다. 프로젝트 폴더(패키지)만 만들고 share하면 아무것도 안옮겨진다. 비어있기 때문에.
    - 그리고 로컬 저장소에 있는걸 리모트 저장소로 옮기기 위해서는 push를 해야한다.

  • 이클립스는 작업하고 저장하면 자동으로 로컬 저장소로 간다.
  • 작업 단위별로 작업중에는 commit만 하고 해당 작업이 모두 끝나면 push로 한방에 리모트 저장소로 보낸다.

  • 다른 사람들이 이 프로젝트를 가져올때는
    - 로컬 저장소 만든다음에 Import project로 가져온다.
    (프로젝트를 Import 하는것을 체크아웃 한다고 표현한다.)
    - Import는 최초 딱 한번만 하면 된다.
이클립스
commit
로컬 저장소
push
리모트 저장소
리모트 저장소
fetch
로컬 저장소
pull
이클립스
  • 그런데 일반적으로 pull 하면 fetch하고 같이 이루어져서 pull로 당기기만 하면 된다.
  • 똑같은 파일을 같이 작업해서 같이 push를 하면 충돌나기 때문에 서로 다른 파일을 작업하는게 좋다.
    그런경우 충돌 예방을 위해 나중에 push할 사람이 먼저 pull로 당겨온 다음에 push를 해야하는데, pull 먼저하면 자신이 작업한 내용이 사라질수도 있으니 자신이 작업한 걸 미리 백업해놓으면 된다.
  • 충돌이 너무 많이 일어나면 local repository를 삭제하는게 나을수 있다. 그러나 그럼 모든게 삭제되기 때문에 미리 백업을 해놓는게 좋다.
  • 협업할때는 같은 branch를 이용하는게 좋다.

 

반응형

댓글