(R+Git) 초보자를 위한 깃허브 연동 및 에러 대처법

Page content

개요

  • 본 Repo는 강림직업전문학교 수강생을 위해 예시로 작성한 Repo입니다.
  • 본 Repo에서는 R을 활용한 데이터 과학 발표자료를 공유하기 위해 만들어졌습니다.

Git & Github

  • 우선 Git을 설치합니다.

  • Terimnal 창에서 git을 실행하여 정상적으로 설치되었는지 유무를 확인합니다.

  • 그 다음은 Github에 회원가입을 합니다

  • 이제 RStudio에서 프로젝트를 클릭한 후 아래 화면에서 Version Control을 클릭합니다.

  • 그 다음은 github에서 주소를 클릭합니다.

  • 복사한 주소를 아래그림과 같이 주소를 붙여 넣습니다.

  • Note
    • 이 때 주의해야 하는 것은 경로입니다. 초보자들의 경우 바탕화면에 저장소를 설정하시기를 바랍니다.

Git Commit

  • 3가지 순서를 기억합니다.
  • 첫번째, 파일을 추가합니다.
git add .
  • .은 모든 파일을 의미합니다.
  • 전체 파일이 아닌 일부 파일만 올리고 싶다면, git add filename만 해도 됩니다.
  • 두번째, 커밋 메시지를 남깁니다.
git commit -m "your message"
  • 마지막, 파일과 메시지를 Github Repo 저장소에 업로드 합니다.
git push
  • 정상적으로 완료된 메시지는 아래와 같습니다. (예)
username$ git push
Enumerating objects: 6, done.
Counting objects: 100% (6/6), done.
Delta compression using up to 4 threads
Compressing objects: 100% (5/5), done.
Writing objects: 100% (5/5), 998 bytes | 998.00 KiB/s, done.
Total 5 (delta 1), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (1/1), done.
To https://github.com/dschloe/class_r.git
   26aab11..7c22ba0  main -> main

에러 핸들링

  • git은 충돌이 나면 수정하기가 매우 골치 아픕니다.
    • 따라서, 위 순서를 지켜주셔야 합니다.
  • 첫번째 이슈: 로그인
    • 아래 메시지를 확인합니다.
 *** Please tell me who you are.
Run
  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"
to set your account's default identity.
Omit --global to set the identity only in this repository.
  • 위 메시지는 git commit을 할 때 발생합니다.

  • 위 메시지는 쉽게 말해 로그인을 하라는 뜻입니다.

    • 두개의 git config을 그대로 실행하며 이 때 독자의 깃허브 메일과 아이디를 입력하시면 됩니다.
  • 두번째 이슈: 깃허브 싸이트에서 수정

    • 초보자들은 IDE보다는 웹사이트가 편합니다. 그래서, 웹사이트에서 무언가를 수정하려는 유혹을 매우 자주 받습니다. (이해합니다.)
    • 이 때, 수정하였다면 반드시 여러분 환경에서도 똑같이 반영을 해줘야 합니다.
      • 물론, 대부분 안합니다.
    • 그리고, git push를 시도합니다.
    • 이 때 아래와 같은 메시지가 출력됩니다.
git push 

To https://github.com/yourname/foo.git

 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'https://github.com/yourname/foo.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g. hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
  • 이 때, 매우 간단하게 git pull을 시도합니다.
  • 그리고 처음부터 add, commit, push를 시도하면 됩니다.