TIL_221112 ✔️ Git - 팀원들과 git 연습, git study 준비

정윤숙·2022년 11월 12일
0

TIL

목록 보기
13/192
post-thumbnail

내일배움캠프 4기 스파르타코딩 React B반


📒 오늘의 공부

1. 팀원들과 git pull, push 연습

  • Zoom으로 화면공유하면서 공부
    1. repository를 새로 만든다.
    2. collaborator로 팀원들을 모두 초대한다.
    3. repo 주인이 파일을 하나 만든다
    4. 나머지 팀원들이 모두 파일을 clone한다.
    5. 모두 file을 수정하면서 pull, push 연습을 한다.
    6. 화면공유를 통해 모든 팀원이 한 번씩 repository 만드는 것부터 모든 과정을 연습해본다.
    7. 문제가 생기면 같이 해결한다.
  • 중간에 다른 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시간 정도 공부!

profile
프론트엔드 개발자

0개의 댓글