ssh git에 등록하기(gitgub -> 오른쪽 상단 프로필 클릭 -> setting -> 왼쪽 메뉴 SSH and GPG keys -> new ssh key -> 생성)
1-3. 생성한 git repo 다른 디렉터리에 ssh로 clone해보기
가운데 상단에 code 부분을 클릭하면 아래와 같은 창이 생긴다.
ssh를 클릭하면 생기는 url을 복사해서 git init 명령어를 사용 후에 clone해보자.
2. Test
2-1. 간단한 파일 생성 및 push
디렉터리에 들어가서 파일을 생성 후에 push 해보자
순서는 파일 생성 -> 파일 작성 -> git add -> git commit -> git push 순서이다.(중간에 순서 실수 ..)
2-2. 간단한 수정 후 push
파일을 수정하고 push 해보자
vim, namo 등을 사용하여 수정 후에 push 해보자
2-3. branch 생성,파일 수정 후 push, merge
branch를 생성하고 파일을 생성 후에 push한다. (checkout -b 옵션을 사용하면 branch 생성과 동시에 브랜치로 이동한다.)
branch를 push하려고 하니 push가 안된다.
fatal: The current branch feature/test1 has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin feature/test1
To have this happen automatically for branches without a tracking upstream, see 'push.autoSetupRemote' in 'git help config'.
- 위와 같은 에러가 발생하는데 여기서 upstream은 로컬과 연결된 원격 저장소를 말한다. 원격 저장소를 연결해주라는 얘기 같다.
- git push --set-upstream origin feature/test1 명령어를 입력하면 된다.
- 그리고 github를 확인해보면 pr(pull request)를 할 수 있다.
- compare & pull request를 눌러서 pr을 올려보자
- merge까지 완료하면 feature/test1 branch의 수정 내용이 main에 합쳐진다.
#### 2-4. bracnh 생성, 파일 생성 후 push, rebase
- 이번엔 rebase이다. rebase는 git history를 깔끔하게 관리 할 수 있다.
- branch를 다시 main으로 이동 후 git pull 명령어를 사용하여 최신화를 시켜준다.
- 이제 branch를 생성 후 2-3에서 했던 작업을 똑같이 해주자 그리고 pr까지 올려주자.
- merge버튼 옆에 아래 화살표를 클릭하면 3가지중에 선택하여 진행할 수 있다. rebase and merge를 눌러주자
- 그럼 완료
#### 2-5. complict만들어서 해결하기
- merge할때 comflict가 나는 경우가 종종있다.. 문제를 만들어서 해결해보자.
- 일단 branch를 하나 만들고 기존에 있던 파일을 수정해보자.
- brach_test1의 파일을 수정하고 그걸 commit하고 checkout해서 main으로 가서 똑같은 파일을 수정해주자
- 그 다음에 rebase를 진행해보자.
- 수정한 파일을 확인해보면 아래와 같이 나온다.
- 둘중 원하는거로 수정 후 add 후에 rebase continue를 해주자
- commit후에 push 해주면 잘 된다.(idea 파일은 언제 생긴지는 잘 모르겠다...)\