내일배움캠프 4기 스파르타코딩 React B반
📒 오늘의 공부
1. 팀원들과 git pull, push 연습
- Zoom으로 화면공유하면서 공부
- repository를 새로 만든다.
- collaborator로 팀원들을 모두 초대한다.
- repo 주인이 파일을 하나 만든다
- 나머지 팀원들이 모두 파일을 clone한다.
- 모두 file을 수정하면서 pull, push 연습을 한다.
- 화면공유를 통해 모든 팀원이 한 번씩 repository 만드는 것부터 모든 과정을 연습해본다.
- 문제가 생기면 같이 해결한다.
- 중간에 다른 repo랑 연결 돼서 파일이 안 올라가는 문제, branch 설정이 잘못 된 문제 등은 금방 해결했다.
- pull, push 익숙해지는 것 위주로 공부했고 충돌이 생겼을 때도 해결은 했는데 이 부분은 각자 공부를 더 해서 다시 모여서 해 보기로 했다.
- Git repo에서도 그렇고 vscode에서도 충돌 있을 때 그냥 해당 부분(충돌했다는 표시 등)을 삭제, 수정해서 merge 혹은 저장 후 커밋하니 해결되었다.
- 저장의 중요성!!
- 팀원이 파일을 저장하지 않고 pull을 하니
fetch_head already up to date
오류가 떴다.
-> $ git fetch --all
-> $ git reset --hard origin/master
이렇게 해당 브랜치로 강제로 리셋하는 방법으로 해결했다.
하지만 이건 로컬 작업 내역이 날아갈 수 있다는 것!
✔️
따로 더 공부한 것
git swith 브랜치
: 해당 브랜치로 이동하면서 해당 브랜치에 올라와 있는 코드가 pull한 것 처럼 vscode에 뜸
git pull origin 브랜치
: 나는 내 브랜치에 머물면서 해당 브랜치의 소스를 가져오는 것
- clone하지 않고 새로운 파일을 만들어 new branch에 push 하면 master에 있는 코드가 달라 'pull request'버튼이 떴어도 merge할 수 없다
- 그리고 master vscode에서 완전 다른 파일을 가지고 있는 new branch를 pull하니
refusing to merge unrelated histories
오류가 떴다.
git pull origin 브런치명 --allow-unrelated-histories
: Git에서는 관련 없는 프로젝트 병합을 거부하기 때문에 이 명령어를 사용해 pull이 가능하도록 만든다.
- 그렇게 하니 오류
* branch df -> FETCH_HEAD Already up to date.
->
2. 일요일 스터디_1주차 준비
- 주제: git, gitHub 공부 및 연습
- 참고 자료: https://youtu.be/1I3hMwQU6GU
https://www.yalco.kr/lectures/git-github/
- gitignore 해 봤다!
- git reset / revert는 좀 더 연습할 것
- branch
git branch test
test라는 브랜치 생성
git switch test
test 브랜치로 이동
git switch -c new
new라는 브랜치를 만들고 바로 이동
- merge할 때는 기준이 되는 브랜치(master)에서
git merge 합칠브랜치
-> 합쳐진 브랜치는 삭제 git branch -d 브랜치명
- rebase할 때는 합쳐지는 브랜치(new)로 가서
git rebase master
git switch master
git merge new
로 master를 상단 브랜치로 올리기
git branch -d new
- 다 사용한 branch는 제 때 제 때 지워서 충돌 예방
- 충돌
git merge --abort
merge 이전으로 되돌리기
- 토큰 만들기
- 일단 skip!! 이제까지 github 잘 썼는데 지금 token을 만들어도 되는것인가?
- pull, push
- 내가 커밋 후 push 전 원격저장소의 내용이 수정되어 내가 push하려니 안 됨
-> merge : git pull --no-rebase
로컬과 원격의 어긋난 시점을 한 군데로 모아 push 가능
-> rebase : git pull --rebase
원격에 맞춰 원격 저장소 내용을 내 로컬에 붙이고 내 로컬 수정사항을 그 다음에 붙여 push 가능
⭐ local에서 작업할 때 이미 공유된 것을 rebase해서 올리지 말 것. pull받는 상황에서는 rebase 써도 괜찮음
git fetch
원격의 변경사항 확인
- sorce tree 처음 써봤는데 편하긴 하구만
토요일이지만 오늘도 10시간 정도 공부!