github - branch, clone(복제)
clone - 복제
원하는 HTTPS 복사
https://github.com/codingspecialist/Springboot-MyBatis-Setting.git
GitHub - codingspecialist/Springboot-MyBatis-Setting
Contribute to codingspecialist/Springboot-MyBatis-Setting development by creating an account on GitHub.
github.com
지정할 폴더에서 Git Bash 켜기
1.workspace에 git_lab폴더 생성
2. git_lab폴더 안에서 Git Bash 켜기
clone
clone - GitHub에 있는 프로젝트를 로컬에 복제
git clone "복사 한 주소"(shift + insert)
https://github.com/codingspecialist/Springboot-MyBatis-Setting.git
만든git_lab 삭제
_______________________________________________________________________________________________
Branch 생성
연습 예제 (login, join write)
ch01폴더 생성
ch01 폴더 안에서 git bash 시작
git init -> git 폴더 생성
테스트 용 join.txt 생성
join.txt안에 텍스트 입력
git add .
git commit -m "[이름] 회원 가입완료"
테스트용 login 파일 생성
login.txt생성
login.txt에 텍스트 입력
git add .
git commit -m "[이름]로그인 완료"
브랜치 생성 - git branch 브랜치 이름
git branch write-topic
write-topic이라는 브랜치 생성
master은 최종 배포판만 넣기 때문에 브랜치에서 보통 기능 개발해서 합친다.
git branch 브랜치 확인
현재 master 브랜치 사용중
사용중인 브랜치 이동하기 git checkout 브랜치 이름
git checkout write-topic
사용중인 브랜치가 옮겨졌다. 이제 branch에서 개발을 할수 있게 된다.
write 브랜치로 바뀐 상태에서 write.txt생성(현재 브래니의 위치 = write)
write.txt 텍스트 입력
write 파일 커밋
git add .
git commit -m "[이름] 제목 "
git log 로그 추가 및 commit 확인
현재 write-topic에 3개의 로그가 있다.
git checkout master 브랜치 다시 master로 이동
master에는 login, join 두개가 있었기 때문에 master로 이동 후 로그 확인하면 두개만 있다.
write 텍스트 파일을 수정후 "글쓰기 최종완료"라고 커밋
텍스트 파일 수정
git add .
git commit -m [이름]글쓰기 최종 완료"
log로 확인
이제 최종 완성 되었으니까 master로 옮기기 git merge 합칠 브랜치 이름
git checkout master
master + write 병합 (현재는 덮어씌우기)
git merge 브랜치 이름
합친후 로그 남기기
이제 master에는 write-topic 브랜치가 병합되었다.
처음에 master에 있던 파일들(login,join)을 write-topic(login,join,wirte)로 모두덮어씌웠다.
(브랜치 옮길 때는 기존 master파일들을 모두 복사해서 write-topic브랜치로 가져온다.)
만약 merge를 했지만 이전으로 돌아가야 할 경우 실습(write를 삭제 해야 할 경우) - git reset --hard 해시코드
해시코드에서 앞자리 4자리 정도만 적어주면 된다.
git reset --hard 해시코드
로그인 완료 까지 했던 곳으로 이동하였다.
(write가 완전히 지워진것은 아니다. 다시 merge를 하면 합쳐진다.)
git reflog - 현재까지 남겼던 로그를 모두 볼 수 있다.
이때까지 했던 모든 log가 남아있다.
만약 이동하고 싶은 로그가 있다면 돌아갈 수 있다.
다시 merge로 했던 곳으로 돌아가기
git reset --hard 해시코드
git log로 확인 할 수 있다.
복습할때 코드 되돌리는 법
git checkout -b master-copy
git log
git reset --hard 커밋아이디
git branch -d 가지이름 (해당가지에서는 안됨)