TIL - Git& Git hub

sanghun Lee·2020년 7월 29일
0

Today I Learned

목록 보기
36/66

Guide for using

  • 깃은 버전관리 시스템으로 시간이 지남에 따라 파일의 변경사항을 추적하는 도구이다.
  • 깃 허브는 깃을 사용하는 프로젝트를 위한 플랫폼 사이트라고 생각하면 쉽다

쉽게 말해서 깃이라는 저장된 파일들을 공유하기 위한 sns사이트가 깃허브라고 생각하면 편한다.

큰 틀의 흐름을 먼저보고 세부사항을 공부하는 것이 개인적으로 편해 먼저 크게 중요한 단계부터 적어본다.

  1. git init 을 통해 실행시켜준다.(cd 와 ls를 통해 해당 폴더로가자)
  2. 변경사항이 발생 시 git add를 통해 staging을 하자.(add .을 하면 모든 변경사항이 해당된다)
  3. git commit을 통해 commit message를 남겨준다
  4. push를 통해 해당 repository주소에 변경사항이 저장된 git을 올려준다.

1. git init

해당 명령어를 통해 프로젝트 폴더내에 숨겨진 .git directory를 생성한다. 이제 git은 현재 저장소에 대한 모든 변경사항을 추적 관리하게 된다( 점하나찍어도 기록된다.)

2. Staging and committing code

git 에서 commit이란 프로젝트 현재상태를 나타내는 status와 같은 것이며 현재 버전의 코드를 커밋에 저장한다고 생각하면 된다. 일반적으로 커밋을 남기는 시점은 특정내용, 기능을 추가한 후 시행한다.

3. git status

어떤 파일이 추가 되었는데 등을 보여준다. 해당 명령어를 통해 관리되지 않고 있던 파일이 있다면 staging area로 추가할 수 있다.

  • 커밋을 남기기 위해서는 staging area로 추가해줘야 한다.

4. git add

git add 파일명 또는 git add .(모든 변경사항)을 통해 원하는 파일들을 staging area로 추가할 수 있다.

git add name.js

  • 하나의 파일만 추가

git add name.js what.js

  • 여러가지 파일추가

git add .

  • 전체 변경사항 추가

5. Making commits(커밋 남기기!)

커밋은 특정시간의 코드 스냅샷 형태로 repository의 커밋기록에 남게 되는데 git add 명령어를 통해 staging area에 추가했다면 이제 아래의 명령어로 커밋을 남기면 된다

git commit -m"some message"

6. History

6.1 git log

프로젝트의 모든 커밋내용을 볼 수 있다.
(작성자 hash 값 등등..)

6.2 git checkout

만약 특정 커밋 시점의 코드로 되돌리고 싶다면 해당 명령어를 사용하면 된다

git checkout <commit-hash>
* <commit-hash>는 실제 hash값으로 바꿔야함

6.3 git ignore

staging area에 추가하고 싶지 않거나 git 에서 관리하지 않아도 되는 파일이 존재한다면
.gitignore파일을 프로젝트에 생성해주면 된다. 해당 파일 안에 파일명과 폴더명을 나열하고
각 파일 또는 폴더는 새로운줄에 입력되어야한다.

// 예시

.DS_*
*.log
logs
**/*.backup.*
**/*.back.*
node_modules
bower_components

Branches

브랜치란 독립적으로 어떠한 작업을 진행하기 위한 개념이다. 브랜치 각각은 서로에게 영향을 끼치지 않고
Push를 하지 않으면 영영 반영되지도 않는다

보통 동시에 작업을 진행 할 때 다른사람의 작업에 영향을 주거나 받지 않도록 메인브랜치에서 자신의 작업 전용 브랜치를 만들어 작업을 시작한다.

쉽게말해 브랜치를 각자의 작업단위라고 봐도 무방할 것 같다.

git branch

아래의 코드를 통해 새로운 브랜치를 생성할 수 도 있다.

git branch <new-branch-name>
  • 프로젝트에 존재하는 모든 브랜치를 확인하고 싶다면 git branch명령어를 입력하면 된다.

git checkout

아래 코드를 통해 다른 브랜치로 이동할 수 있다.

git checkout <branch-name>
  • 브랜치 생성과 동시에 생성된 브랜치로 이동하고 싶다면 기존 checkout 명령어에 -b라는 flag을 추가해주면 된다.

git merge

다른 브랜치에서 작업한 내용을 적용하고 싶을 때 두 브랜치를 병합할 수 있다.
예를 들어 특정 브랜치에서 새로운 기능을 완벽하게 구현하고 테스트까지 완료한 시점이라면 기준이 되는 master branch에 구현내용을 적용시키는 것이다.

git merge<branch-name>

git branch -d

아래 명령어를 통해, 브랜치를 삭제할 수 있다.

git branch -d<branch-name>

* TIP

  • cmd + j 는 visual studiocode에서 터미널을 열 수 있게 해준다.
  • git branch feature/sanghunlee와 같이 특징에 따라branch를 생성 할 수 있다.
  • checkout feature/sanghunlee 로 생성한 브랜치에 접속(?)하여 작성할 수 있다.
    (작업하기 전에 브랜치가 어디인지 꼭 확인하자!! 마스터브랜치인지 내가 만든 새로운 브랜치인지 git branch 이용 * vs코드의 경우 좌측 하단에 자신의 브랜치 명이 보인다.)
    작업완료 후(꼭 확인하자)

빨간색 글씨의 파일 명이 뜨면 staging이 되지 않았다는 의미일 수도 있다.

  1. 변경사항 확인 :수정한 내용 확인(git status)
  2. stage: 깃에 수정된 파일을 저장(git add .) -> 제대로 되면 빨간파일명이 초록색으로 변경되어 있음.
  3. Commit: wecode node weekly tab에 commit message guideline있음// git commit키워드로 수정하고 그 뒤 git log로 내용 확인
  4. Push git push origin feature/sanghunlee
  5. marster merging request: 화면에 커밋이 완료되면 나타나는 링크가 커밋이 담긴 github 사이트 일것.
profile
알고리즘 풀이를 담은 블로그입니다.

0개의 댓글