Github 사용법 정리

Silivan·2021년 8월 31일
0
post-thumbnail

Git : 소스 코드에 특화된 버전 관리 프로그램

소프트웨어 구성관리(형상 관리) - 소프트웨어의 변경사항을 체계적으로 추적하고 통제하는 것

Github : 원격에서(다른 사람 컴퓨터) 버전들을 저장해놓는 저장소(원격에서 동작하는 소스코드 저장소)

  • git config --global user.name "nickname"
  • git config --global user.email "github e-mail"

👉 결과

Pc의 git하고 원격의 github가 연동된다.

git config --list로 확인할 수 있음

Git 명령어

  • git init : 사진사를 세팅하는 것(해당 디렉토리에서 .git 폴더를 생성)

  • git add : 사진 찍을 사람들을 세팅하는 것(파일들을 commit 할 수 있도록 세팅)

  • git commit -m(message) "commit name" : 사진을 찍는 행위(파일들을 최종적으로 commit!)

  • git log : 이때까지 내가 해당 디렉토리 내에서 commit 한 기록들을 열람 해줌

  • git status : git에서 commit 되지 않은 파일들 혹은 수정이 된 파일들의 상태를
    알 수 있게 해주는 명령어

  • git reset --hard "commit code" : 해당 commit 한 내용으로 reset 시켜줌

cf)reset하고 변경된 commit 상태로 가고 싶을 시에는 github를 이용해야만 그 상태로 돌아갈 수 있음

Github와 연동하기

  • git remote -v : remote(연동)되어 있는 주소 확인

  • git remote add origin "repository url.git" : repository와 pc 내 로컬 폴더를 연결

    git와 github를 연겨해줌(github 홈페이지가 아니라 .git 파일로 연결해야함)

  • git remote remove origin : 연결 해제 하기

  • git push origin main : github repository 메인 branch에 현재 commit들을 넣는다.

  • git pull origin main : github를 통해서 commit 했을 때 그 내용을 클라이언트로 내려받는 명령어

  • git clone "repository url.git" : pull과 비슷하지만 클라이언트 상에 아무런 파일도 존재하지 않을 때 사용하는 것

    github repository에서 모든 commit들을 내 로컬로 가져온다.

😀 해당 commit으로 reset 하는 방법

  1. 해당 폴더를 삭제한 뒤 clone 주소를 이용하여 git clone 명령어를 사용함
  2. 원하는 commit 코드명을 복사하여 git reset -- hard "commit code"

원치 않는 파일 ignore 시키기

".gitignore." 파일 생성 후
*.exe 를 입력하게 되면 모든 exe파일들을 git에 commit 되지 않고 github에 push 할 수 없음

gitignore.io 에서 해당 언어 파일들의 확장자들을 복사 할 수 있으므로 이용할 수 있음


협업을 위한 branch 명령

branch 없이 협업하는 경우에는 push 명령이 겹쳐 문제가 발생 할 수 있음

a->c->da->c->q
마지막 push d마지막 push q

d와 q가 겹치게 되므로 나중에 실행한 q를 무시하게 됨(동시에 만들어지지 않아서임)

-> 상대방이 업데이트를 해주었는지 git pull 명령을 통해 계속 알아내야 되는 문제 발생

같은 파일을 수정해서 collision 발생
서버 혹은 원격저장소에 둘 중 하나의 파일에 맞추어 내용이 맞도록 변경해줘야함

Branch의 이점으로 해결 가능 : branch의 merge 명령으로 다른 pc에서의 push 명령을 합칠 수 있음

Branch 명령어

  • git branch : 현재 생성되어 있는 브랜치의 목록을 봄

  • git branch newFeature : newFeature이라는 새로운 브랜치를 만듦

  • git checkout newFeature : newFeature이라는 브랜치로 이동

  • git branch -D newFeature : newFeature이라는 브랜치를 삭제

  • git push origin "branch name" : 특정 브랜치를 깃허브에 푸시

  • git pull origin "branch name" : 브랜치를 깃허브에서 가져와서 최신화

Github에서 pull request로 파일을 pull 해주고 merge 하면 main branch에서 최신화 할 수 있음


Fork 명령

1.fork는 github 계정 사이간에 repository를 복사해오는 것

2.fork 명령 후 내 계정에서 git을 cloning 하거나 github에서 수정함

3.수정한 파일을 push & commit 한다.

4.해당 파일을 본 계정에 pull 하고 싶으면 pull request를 이용

본 계정에서는 pull request를 comment 하거나 merge하여 처리 가능함

깃린이 코스를 수강하고 난 뒤의 Github 사용법 정리

profile
매일매일 꾸준히!

0개의 댓글