Git & Github

zhflsdl보보·2022년 10월 26일
0

Git & Github

목록 보기
1/1

Git vs Github

1. Git

Version Control System (VCS) 로 버전관리를 도와주는 시스템이다.
개발자들이 프로젝트를 할 때 변경 사항들을 기록하여 많은 사람들이 효율적으로 작업하고 협업이 가능하게 한다. 각 개발자가 자신만의 프로젝트 버전을 본인 컴퓨터에 가지고 있고, 이를 병합하여 하나의 프로젝트를 만들게 된다.

🟡 Repositories (저장소)

쉽게 말해 폴더라고 생각하면 편하다.

  • Local repository : 본인의 컴퓨터에 저장된 로컬 버전의 프로젝트 저장소
  • Remote repository : local과 반대로 외부 버전의 프로젝트 저장소. 팀으로 작업할 때 유용하다. 코드를 공유하고 변경사항을 저장하거나 병합할 수 있다.

🟡 commit? 프로젝트의 현재 상태를 나타내는 체크포인트라고 할 수 있다. 현재 버전의 코드를 커밋에 저장한다고 생각하면 된다. 필요한 만큼 커밋을 생성할 수 있고 앞뒤로 이동하여 다른 변경사항을 확인할 수 있다. 따라서 커밋을 남기는 시점은 특정 내용, 기능을 추가한 후 또는 수정사항을 적용한 후이다.

Git 명령어

1) git init

새 저장소를 생성하고 그 안에서 명령어를 사용할 수 있도록 세팅해준다.
init을 쓰면 git은 현재 저장소에 대한 모든 변경사항을 추적/관리하게 된다.

2) git status

git의 상태를 확인할 수 있다. 모든 변경사항을 확인할 수 있다.

3) git add

파일 수정이력 기록을 준비한다. 원하는 파일들을 staging area에 추가하는 과정이다.
git add file.js : 특정 파일의 이력만 남길 때
git add . : 해당 폴더 전체 파일의 이력을 남길 때

4) git commit

stageing area에 추가된 파일의 수정이력을 기록하는 것이다.
무조건 add로 먼저 준비하고 난 후 실행할 수 있다.
git commit -m "first commit" : 한줄로 남길 때

5) git log

프로젝트의 모든 커밋 내용을 볼 때, 남겨진 이력 확인할 때

6) git push

작성한 코드를 원격 저장소에 업로드할 때 (github에 올리고 싶을때)

7) git remote

원격 저장소와 연결을 확인하고 연결하고 끊을 때
git remote --v : 현재 연결되어 있는 원격 저장소 확인
git remote remove origin : 연결되어 있는 저장소 끊을 때
git remote add origin : 다시 연결할때


2. Github

git을 사용한 프로젝트들의 저장소로 프로젝트들을 관리해주는 호스팅서비스이다.
개발자들의 social network이다.

🟡 branch?
브랜치란 독립적으로 작업을 진행하기 위한 가상의 공간이다. 개인의 작업을 master에서 하기 보다 각각의 공간에서 작업 후 master에서 병합한다.
저장소를 처음 만들면 git은 바로 master(or main)라는 브랜치를 만든다. 이 새로운 저장소에 파일을 추가하거나 변경하여 그 내용을 커밋하는 것은 모두 master에서 이루어진다.
master가 아닌 새로운 브랜치를 만들어서 체크아웃하지 않는 이상 모든 작업은 master에서 이루어진다.

github 에서 먼저 저장소 생성 후 가져올 때 명령어

2-1) git clone

코드를 복제할 때 사용함. 기존 저장소에서 내 local로 가져오는 명령어

2-2) git branch

브랜치 생성하기
독립적으로 개발할 수 있는 공간 만들기
git branch 이름 : 통상적으로 feature/구현내용 적는다.
git branch : 프로젝트 내의 모든 브랜치 확인할 때

2-3) git checkout

현재의 브랜치에서 다른 브랜치로 이동할 때

2-4) git pull

github에 있는 특정 브랜치의 코드를 local로 가져올 때
git pull origin 이름 : 관용적으로 origin을 쓴다.

2-5) git merge

서로 다른 브랜치에서 작업한 코드들을 합칠때 사용.
새로운 기능을 완벽하게 구현한 코드를 master 브랜치에 적용시킬 때

이런 흐름이 된다.
위의 사진에서 아래쪽은 local, 위쪽은 github 이 된다.


💯 github에 올려져 있는 파일을 가져와서 작업할 때

1) github에 있는 master를 git clone 으로 복제해서 local로 가지고 온다.
2) 현재 브랜치가 master니까 local에서 git branch 이름 으로 새로운 브랜치를 만들어준다.
3) 만든 브랜치로 이동한다. git checkout 이름
4) 이동한 브랜치 안에서 작업하고, 작업한 파일을 커밋할 준비를 하자.
4-1) git add . 로 파일을 staging area 에 추가한다.
4-2) git commit 이름 수정이력을 기록한다.

이제 local에서 파일이 완성되었다. 이 파일을 github에 올려봅시다.

5) git push origin 이름 으로 github에 올린다. PR을 작성한다. 일명 보고서.
이 과정에서 수정사항이 발생하면, 다시 4번 과정을 반복한다.
6) 완벽하게 완성된 코드는 git merge 이름 를 하면 github 의 master에도 최신 파일이 업로드 된다.

여기까지 완료되면, local 의 master에만 최신 파일이 없는 상태가 된다. local에도 파일을 업로드 해보자.

7) git checkout master : 우선 github의 master로 이동해야 하므로
8) git pull origin master : github에서 local로 파일을 가져와야 하므로
(origin은 github과 통신할 때 쓰면된다)
9) 모든 저장소가 같은 파일로 최신화 되었다. 다른 작업 시 다시 브랜치 만들어서 반복한다.

profile
매일매일 성장하는 개발자

0개의 댓글