- 1113 -git/sourcetree사용방법2023년 11월 13일 09시 58분 28초에 업로드 된 글입니다.작성자: 삶은고구마
1. Git - Downloading Package (git-scm.com)
2. Sourcetree | Free Git GUI for Mac and Windows (sourcetreeapp.com)
git 설치후 (설치시 설정은 모두 기본으로..)
소스트리 설치 (마지막에 ssh 불러오기는 아니오. 로 선택)
git : 내 작업물 백업.
github : 백업 저장소.(모음)
이클립스로 새 프로젝트 생성 hello- git ->local repository (로컬 저장소)
.git 확장파일은 꼭 지우지 말 것..
version commit 시 필요한 것
1.message(제목,바디)
2.등록된 author.name / author.email
.gitignore에는 변경내역을 관리하지 않을 파일 목록 작성
-ignore를 만들기 편한 사이트
https://www.toptal.com/developers/gitignore/
생성된 페이지의 소스를 복사하여 .gitignore 파일에 붙여넣기. (작성된 /bin/ 지워도됨)
새 브랜치를 추가하면 브랜치마다 같은 프로젝트도 다르게 관리할 수 있다.
1.새 브랜치 생성 애니멀이라는 브랜치를 만든다.
2.애니멀 브랜치가 생성 된 것을 확인.
3.애니멀을 선택 한 후
중심이되는 건 master
나머지는 branch
merge방식엔 두가지가 있다.
1.fast - forward merge
:지금 생성한 animal과 master를 병합하는 작업(animal을 master에 병합하는거임.)
master 입장에서는 앞으로 감기하는 것.(master에서 파생된 animal을 다시 master랑 합치는거임)
2.true merge(3-way merge) ->충돌가능성 있음
1번의 방식으로 병합하기
1.master를 선택 후 상단의 병합 선택. 병합할 브랜치(예제는 animal) 선택.
2.아까는 별개였던 git들이 하나로 병합됨(merge)
3.이클립스도 돌아오면 병합전의 master는 main클래스만 있었는데,
브랜치인 animal과 병합되면서 해당 브랜치에서 작업했던 animal 패키지까지 포함하게 되었다.
tip:만약 이클립스에서 해당 패키지가 workspace master로 나오는 경우
나같은 경우엔 올바르게 설정되었지만 간혹 이상하게 설정되는 경우가 있다고 한다.
window - show view - other - git repositories 추가.
git 로컬 저장소로 원하는 폴더(다루는 프로젝트 폴더) 선택 후 apply 하면 완료.
ex)animal에서 작업 -아무 동물 class 생성 후 master에 병합하기
branch-animal 선택 후, bird class 추가, main에서 bird - fly 메소드 호출.
다시 master선택 후 병합.
ex)새 브런치 추가
bugfix/upper
--
ex)고의 충돌현상 발생시키기
1.master 와 animal 각각 main의 16번 라인에 sysout 작성.
2.master로 animal 병합 시도
3.충돌 발생 (수정된 라인이 동일해서.. master의 수정된 코드로 병합할 건지, animal의 수정된 코드로 병합할 건지 묻는거)
4.오류가 나는 것을 확인.
나는 두 sysout을 그대로 사용하기로 함.
5. 다시 병합.
reset (지양) / revert
revert로 cat 클래스/jump메소드 삭제
master로 캣 점프를 추가했던 구간에서 커밋 되돌리기 실행.
이후 이클립스에서 캣 점프 메소드 삭제 후, 파일상태에서 스테이지로 올린 후 history에서 확인해본다.
소스트리와 깃헙 연동하기
성공적으로 업로드 되었다면 내 github에서도 확인가능함.
그리고 다시 master로 main test메소드에 아무 코드 1줄 추가.
push할 것이 하나 있다고 자동으로 잘 알려줌
push 후
github에서 확인
깃헙사이트에서 직접 main.java 수정
test메소드 위에 abc 메소드 하나만 추가.
1.fatch(리모트 마스터로 다운로드)
2.
3.master 선택 후 병합.
4.이클립스에서 확인하면 abc메소드 추가되어있다.
5.위의 fetch+merge 를 통합한 것이 pull
6.github에서 abc메소드 밑에 def 메소드 추가.
소스트리에서 pull 실행
7.이클립스 확인하면 def 메소드가 추가되어있다..
새 환경에서 github에 있는 프로젝트 import 하는 방법
저장소 루트 지정
원하는 로컬 루트 지정
클론
하면 지금까지 저장된 최신 데이터가 그대로 복사된다..
선 pull
후 push
원격 저장소에서 일단 pull(가져오기)
작업 후에 push(저장하기)
'공부' 카테고리의 다른 글
반복문 종류 (0) 2024.01.29 javascript - this (0) 2023.11.29 1019(24일차) - sql 3일 (0) 2023.10.19 oracle sql developer 오류 (0) 2023.10.18 1018(23일차) - sql2일 (0) 2023.10.18 다음글이 없습니다.이전글이 없습니다.댓글