Git/Github (2)

2022. 9. 28. 20:43프로그래밍/Git

    목차

Branch

특정한 시점으로부터 분기점을 생성하여

독립적으로 코드를 변경할 수 있도록 도와주는 모델을 의미한다.

# 사용 가능한 로컬 브랜치 보기
$ git branch

# 사용 가능한 리모트 브랜치 보기
$ git branch -r

# 사용 가능한 모든 브랜치 보기
$ git branch -a

 

Branch 변경하기

# checkout 은 두 가지 기능을 해서 명령어가 나누어짐
# 현재는 switch 를 많이 사용함
$ git checkout [브랜치명]

$ git switch [브랜치명]

 

merge

$ git merge [브랜치명]

특정 브랜치에서 작업한 내용을 당겨온다.

내용을 당겨온다고 해서 해당 브랜치의 내용이 이동하는 것은 아니다.

브랜치의 내용은 사라지지 않고 기록이 남아있다.

 

Branch 삭제하기

$ git branch -D [브랜치명]

특정 브랜치에서 당겨온 작업 내용을 메인 브랜치에 merge 한 후에는

해당 브랜치를 삭제하는 습관을 들이는 것이 좋다.

 

Branch 이름 변경하기

$ git branch -M [새로운 브랜치명]

 

merge-conflict 해결하기

서로 다른 브랜치에서 같은 파일의 서로 다른 수정사항을 merge 하는 경우에 발생한다.

confilict 발생 시 git status 명령을 통해서 한번 더 내용을 확인하는 것이 좋다.

 

충돌한 파일을 vi 로 열어서 지우고 싶은 변경사항을 지운 후 저장하여 해결이 가능하다.

vi 편집기의 normal 모드에서 dd 를 누르면 현재 포커스된 내용이 삭제된다.

 

Trailling comma

깃은 항상 텍스트 파일 기반의 Line 단위로 변경 사항을 판단한다.

만약 특정 줄의 내용이 바뀌면 원래 있던 내용은 삭제되고 새로운 내용이 만들어졌다고 판단된다.

 

라인 단위의 추적을 피하기 위해서는 여러 개의 라인으로 쪼개어서 작성하면 된다.

또한 콤마는 뒤에 작성하는 것이 좋고, 맨 마지막에도 써주는 것이 좋다.

깃에서 변경사항이 최대한 덜 발생하기 때문이다.

let animal = {
  “dog”,
  “cat”,
  “hamster”,
}

 

Hexo blog 생성

서버를 구성하지 않고도 완벽히 돌아가는 어플리케이션을 만들 수 있다.

# hexo 설치
$ sudo npm install hexo-cli

# hexo 설치 확인
$ hexo

# 초기화
$ hexo init [생성할 폴더명]

# 포스트 생성
$ hexo new post "[블로그 포스트 제목]"

# md, css 합쳐서 포스트 만들기
$ hexo generate

# 로컬 서버에 띄우기
$ hexo server

localhost:4000 에서 확인

# 배포
$ hexo deploy

generate -> deploy -> clean -> generate -> deploy ...

# 명령어 한번에 실행하기
# 아스키 아트가 출력되면 정상 작동하는 것이다
$ hexo clean && hexo generate