(R+Git) 초보자를 위한 깃허브 연동 및 에러 대처법
Page content
	
개요
- 본 Repo는 강림직업전문학교 수강생을 위해 예시로 작성한 Repo입니다.
 - 본 Repo에서는 
R을 활용한 데이터 과학발표자료를 공유하기 위해 만들어졌습니다. 
Git & Github
- 
우선
Git을 설치합니다.- 싸이트: https://git-scm.com/
 - 설정은 모두 기본 값으로 해주시기 바랍니다.
 
 - 
Terimnal 창에서
git을 실행하여 정상적으로 설치되었는지 유무를 확인합니다. - 
그 다음은
Github에 회원가입을 합니다저장소를 만드는 과정은 아래 싸이트를 참조바랍니다.
 - 
이제
RStudio에서프로젝트를 클릭한 후 아래 화면에서Version Control을 클릭합니다. 

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

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

- Note
- 이 때 주의해야 하는 것은 경로입니다. 초보자들의 경우 바탕화면에 저장소를 설정하시기를 바랍니다.
 
 
Git Commit
- 3가지 순서를 기억합니다.
 - 첫번째, 파일을 추가합니다.
 
git add .
.은 모든 파일을 의미합니다.- 전체 파일이 아닌 일부 파일만 올리고 싶다면, 
git add filename만 해도 됩니다. 
- 두번째, 커밋 메시지를 남깁니다.
 
git commit -m "your message"
- 추가한 파일에 대한 일종의 메시지를 남깁니다.
 - 가급적 영어로 작성 바랍니다.
 - 메시지 작성하는 방법이 있습니다. (참고: Git commit 메세지 규약 — Conventional Commits)
 
- 마지막, 파일과 메시지를 
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를 시도하면 됩니다.