분산형 버전 관리 시스템
1. 파일이 변경되면 변경 이력을 각 버전 별로 저장할 수 있음
2. 코드가 충돌하면 이전 버전으로 돌아갈 수 있음
3. 어떤 변경 사항이 발생했는지 알아보기 쉬움
4. 다수의 타인과 협업하기 좋다
5. 깃헙 등 클라우드(원격 저장소)에 백업하기 좋다
Commit : 스냅샷 (백업 복사본) 만드는 작업 (Unstaged 에서 add하여 Staged 로 올린 후 commit)
Contribute : 오픈소스로 공유되어 있고 누구나 자유롭게 기능을 추가, 개선할 수 있음
Git Repository : Git으로 관리되는 폴더 (Local, Remote)
Folk : Contribute 하기 위해 타인의 Remote Repository를 내 Remote Repository로 가져오기
Clone : 내 Remote Repository에서 내 컴퓨터로 가져오는 작업 $ git clone Repository주소
Push : Local Repository에 기록한 것을 나/타인의 Remote Repository로 업로드
Pull Request : 내가 수정한 코드 반영 요청
Merge : 협업시 작업물 취합
Pull : Remote Repository에서 변경 사항 있을 때 Local Repository로 가져오기
Github : Git이 설치된 클라우드 저장소
~이후 Git 설치 및 환경설정, SSH 등록과 CLI 인증을 모두 완료~
(이하 Repository는 R로 생략하여 표기)
Fork
clone (git clone 가져올 R주소)
status
restore : 변경사항 폐기 (commit 되지 않은 Local R. git restore 파일명)
add : 파일 commit 할 수 있는 상태로 staging area에 올린 상태 (staged). add 해주고 파일 수정하면 다시 add 해줘야 (git add 파일이름 또는 git add . 모든 파일 한번에 추가)
commit 코멘트 작성 (git commit -m '코멘트')
참고
https://chris.beams.io/posts/git-commit/
reset 아직 Remote R에 업로드 되지 않았을 때 변경사항 취소 가능 (git reset HEAD^ 가장 최근의 커밋 취소. HEAD3=HEAD^^^)
log
pull
push (git push origin main 또는 master 등 상황에 맞게 사용)
init 새로운 repository 설정 시 사용
remote add (git remote add origin R주소 : 내 로컬R과 리모트 R연결)(git remote add 상대이메일 상대R주소)
remote -v
Committed
modified
staged
터미널에서 파일 수정 및 추가를 한 뒤
git add를 해서 추가한 파일을 내 staging area 에 올림
모각코 (모여서 각자 코딩)
오픈 소스 최고
커리큘럼을 따라가다가 모르는 게 있거나 오류가 발생하면 바로 오류 문구 그대로 구글링을 하면 나와 똑같은 현상인 사람들이 많음
fork
git clon R주소
연결 git remot add pair R주소
git remove -v
작성후
git push origin master (또는 다른 이름) 내 거에 push
역할 바꾸고 git pull commit 남꺼 가져와서 작성후 push (git push origin master 또는 다른이름)
오늘 같이 한 페어분이 모르는 것 물어보면 알려주신다고 하셔서 염치 불구하고 깃 허브 부터 공부 방법까지 모두 여쭤보았다.
정말 속성 과외 받는 느낌!!! 너무 감사했다 오늘 하루도 알차고 보람차게 배웠다!!!