Git 활용하기_기초

YJS·2022년 6월 30일
0

Git 사용 방법 기초 정리

  1. github에서 repository 생성하기
  1. git 다운로드
    윈도우의 경우 링크 클릭해서 바로 다운로드

  2. 원하는 이름의 폴더를 생성하고 cmd 창에서 해당 폴더로 이동하기

  3. cmd 창에서 로컬 저장소 만들기

git init

  1. 원격 저장소와 연결하기
git remote add 폴더이름  URL

  1. 원격 저장소의 파일들 내려받기
git clone URL

❗repository를 clone해서 가져오면 remote add 안해도 됨

  1. 로컬 저장소의 변경사항 원격저장소에 반영하기

    7-1. staging

    $ git add .

    git add 파일이름
    . 을 사용하면 업데이트된 모든 파일을 스테이지에 올린다는 뜻

    7-2. commit

    git commit -m [message]

    commit을 통해 로컬 저장소에 변경사항을 반영
    git commit -m[수정사항에 대한 메세지]

    7-3. push

    $ git push origin master

    git push 브랜치명
    원격저장소에 변경사항을 반영하는 단계

  1. 원격 저장소의 변경된 사항 로컬저장소로 내려받기
$git pull
  1. 브랜치 생성하기
$ git checkout -b 브랜치이름

or

$git branch 브랜치이름 // 브랜치 생성
$git checkout 브랜치이름 // 브랜치로 이동

브랜치 생성 후 해당 브랜치로 이동 명령어
이후 add, commit, push 명령어로 해당 브랜치를 반영해주기

  1. 브랜치 이동 시 'pathsec did not match ... ' 에러가 뜰 경우
$git remote update
$git fetch

브랜치 업데이트 후 fetch해주고 해당 브랜치로 이동

❌ 여기서 실수!!
1) 첫번째 실수
git fetch 후에 checkout feature/memo 명령어로 기존의 feature/memo 브랜치로 이동한게 아니라 tc_nodejs에서 새로 또 feature/memo 브랜치를 만든것.
-> 원래는 tc_nodejs/TrainingCourse_Nodejs 에서 만든 feature/memo로 이동해야 하는데 상위 폴더로 이동해서 새로운 브랜치를 만들어버린것.../😵‍💫

2) 두번째 실수
add후 commit후 잘못 push - added another repository inside the current one 메세지 뜰때

위에서 잘못된 브랜치로 이동 후에 add로 또 다시 submodule을 올리면서 .git, .gitignore, part01이 다시 올라감.

revert 명령어로 수습하려고 했으나 실패

🤓😊해결
1) 현재 폴더 구조 확인

-> tc_nodejs 에서 잘못 만들어진 브랜치 feature/memo에 올린 part01 파일

2) 원래 올려야하는 브랜치로 이동

3) pull 받기

4) 해당 브랜치에 그동안 업데이트 사항 add 하고 commit, push 하기

-> myapp 안으로 들어가서 add (그동안의 변경사항은 myapp에 있으니까)

5) 브랜치 안에 잘못 만들어진 폴더 삭제하고 반영하기(로컬에서 삭제하고 remote에 반영)

6) 잘못 만들어진 폴더 로컬에서 삭제 후 remote에도 반영하기 위해서 add해주기
(단, 지금 현재 브랜치 위치에서는 sync해두었으니 하나 밖으로 나가서 상위에서 해결. 왜냐하면 삭제한 로컬 폴더가 TraningCourse_Nodejs 안에서가 아닌 tc_nodejs안에서 만들어졌으니까)

7) 충돌 해결하기

git 화면에서 compare & pull request 버튼이 뜨는데 merge할 수 없다고 된 경우 터미널에서 처리 후 버튼 누른다
(충돌이 나지 않은 경우 그냥 바로 버튼 눌러서 처리 가능)

git merge --no--ff origin main

이후 vscode로 들어가서 새로고침하면 충돌이 일어난 파일을 보여준다
해당 파일을 수정
(초록색이 변경된 부분/ 파란색이 이전 부분
-> 둘 중 어떤 코드로 충돌을 해결할지 고른다)
수정된 파일을 다시 add, commit, push 한다

(주의사항❗ add할때는 해당 브랜치로 이동했는지 확인. part1/01-setting/myapp feature/memo인지 확인 꼭 하기!)

profile
우당탕탕 개발 일기

0개의 댓글