GitHub
코딩 외에 실무적인 문제를 해결할 수 있는 깃허브.
포트폴리오를 올릴 수 있는 장소가 될 수 있다.
소스코드를 공유 할 수 있는 장소.
깃허브가 하는 역할
1. 내 소스코드를 저장(버전관리)
- 이전에 만들어진 모든 사항의 스냅샷을 저장한다. 이는 ㄴ어떤 시점의 버전으로 되돌릴 수 있다.
2. 소스코드를 공유하는 공간이 될 수있다.
- 다른 깃허브 사용자의 프로젝트를 둘러보고 배우기 위해 자신만의 복사본으로 가져올 수 있다.
3. 협업하는 도구가 될 수 있다.
- 협업을 할 때 같은 페이지에 각자의 수정 사항을 업로드할 수 있고 이를 병합할 수 있다.
github를 사용하기 위해선 git을 다운로드 받아야 한다.
github는 소스코드를 올리는 공간의 개념이고 소스코드를 내 컴퓨터에서 인터넷으로 오렬주는 역할을 git이 함.
git이라는 명령어를 따로 설치해줘야 한다.
초기 셋팅
git config --global user.name "이름"
유저의 이메일을 설정해준다.
git config --global user.email "email"
config가 잘 되었는지 확인하는법
git config --list 를 입력해 user.name과 user.email이 생성되었는지 확인한다.
이렇게 환경설정이 완료된다.
commit - 히스토리를 만든다. 과제를 할 때에도 최종 -> 진짜최종 -> 진짜 최종 수정 처럼 과제의 히스토리를 만든다.
소스코드를 github에 올리는 방법
IDE에서 터미널을 연다.
터미널에서 작업을 하면 된다.
$ git init : (initialize 초기화) 맨 처 음에 프로젝트를 올릴 때는 git init을 해줘야함
$ git add . : .(점) 프로젝트 파일안의 모든파일) 어떤 파일을 깃에 올릴지 선택한다. 만약 index.html만 올리고 싶을 경우
"$ git add index.html"
$ git status : 새로운 파일이 있는지 상태를 명령어(필수는 아님)
$ git commit -m "기록 할 내용" - 히스토리를 만든다.
$ git remote add origin REPOSITORY URL : 해당 레파짓토리로 깃허브에 연결고리를 만든다.
$ git remote -v : github와 연결이 되었는지 확인
$ git push origin main L git에 보낸다 master branch로
git hub를 새로고침 해보면 프로젝트가 github에 올라감.
새로 추가된 코드를 github에 업데이트 하고싶은 경우
$ git add .
추가하는 작업에서 git init는 할 필요 없다.
$ git status : 추가 되었는지 확인하는 방법
$ git commit -m "second commit" - 소스코드가 수정되었으니 새로운 history를 만들어줘야 한다.
$ git push origin master - git에 보낸다
커밋이 여러번 되었을 경우 소스코드의 변경사항은 무엇인지 알 수 있다.
용어
- Repository(저장소)
프로젝트가 거주할 수 있는 디렉토리나 저장 공간. repo라고도 줄여 사용한다
- Version control(버전관리)
프로젝트의 히스토리의 모든 시점을 스냅샷을 유지하여 버전을 관리한다.
- branch(브랜치)
작업자들은 메인 프로젝트의 브랜치를 따서 자신만의 버전을 만드는 것을 말한다. 작업이 끝난 후 프로젝트의 메인 디랙토리인 master에 브랜치를 다시 merge한다.
- commit
하나 이상의 file에 대해 변경한 내용을 저장할 때 마다 생성된다.
ex) 이 내용을 commit하고 이를 Git으로 push합시다.
- fork
남이 만든 오픈소스 등을 직접 변경하고 싶다면 먼저 내 계정의 그 프로젝트의 복사본을 만든 다음 이를 수정하게 되는데 이 과정을 fork라고 한다.
명령어
- git init
깃 저장소를 초기화한다. 이 명령어를 실행하기 전까지는 일반 폴더이다. 이것을 입력한 후에야 추가적인 깃 명령어를 줄 수 있다.
- git help
깃 명령어를 잊어버렸다면 이것을 이용해 유용한 명령어를 볼 수 있다.
- git status
저장소의 상태를 체크하는 명령어이다. 프로젝트의 수정된 파일이나 어떤 브랜치에서 작업하는지 등을 체크할 수 있다.
- git add
깃이 새 파일들을 지켜보게 한다. 파일을 추가하면 깃 저장소의 스냅샷에 포함된다.
$ git add . //디렉토리 파일 전체
$ git add index.html // "index.html" 파일만
- git commit
변경사항을 만든 후 스냅샷을 찍기 위해 이를 입력한다 -m을 이용하여 메세지를 남겨놓는다. ($ git commit -m "first commit")
$ git commit -m "first commit"
- git checkout
현재 위치하고 있지 않은 저장소를 체크아웃 할 수 있다. 체크하길 원하는 저장소로 옮겨가게 해주는 탐색 명령어이다. master 브랜치를 들여다 보고 싶으면 git checkout master를 사용할 수 있다.
- git merge
브랜치에서 작업을 끝내고 master브랜치로 병합할 수 있다. cats브랜치에서 만든 모든 변경 사항을 master로 추가한다
- git push
로컬 컴퓨터에서 작업하고 커밋을 깃허브에서 온라인으로도 볼 수 있기 원할 때 이 명령어를 사용해 변경사항을 push한다.
$ git push origin main
현재 폴더를 그대로 업로드 하는 것이 아니라, 지금까지의 이력/버전(commit)을 push하느 것이다.
Working directory, Staging area의 변경사항들은 원격저장소로 push되지 않는다.
push전에 $ git status, $ git log를 통해 확인하는 습관을 가져야 한다.
- git remote
git 레파짓토리로 프로젝트를 연결
$ git remote add origin "github주소"
$ git remote remove origin. //remote 삭제
- git pull
로컬 컴퓨터에서 작업할 때, 작업하고 있는 저장소의 최신 버전을 원하면 이 명령어를 이용해 깃허브로부터 변경사항을 다운로드한다.
$ git pull origin master
원격 저장소 변경사항을 받아온다. 다른 작업환경이나 위치에서 작업할 때, 혹은 공동 작업에서 타인이 commit해서 이력이 변경되었을 경우 등의 경우가 있다. 따라서 pull을 통해 가져온 다음 작업을 진행하는 것이 좋다.