no image
[Git] Git Branch
Git BranchGit에서 Branch란 한 줄로 이어지던 커밋을 나무의 나뭇가지가 뻗어나가듯 커밋을 여러 줄로 만드는 것입니다.Branch를 만드는 이유잘 작동하는 코드를 작성하고 그 코드에 새로운 기능을 추가 싶어서 작업을 추가적으로 작업을 진행하다 보면 커밋이 계속 쌓이게 됩니다. 그러다 만약 그 기능을 추가하지 않기로 한다면 어떻게 해야 할까요?아마 revert를 이용해 되돌리거나 reset을 이용해 되돌리려 할 겁니다.하지만 Branch를 이용해 작동하는 부분(main)은 그대로 두고 옆으로 가지를 만들어서 작업을 하면 어떨까요?추가하고 싶지 않다면 가지를 지우거나 그대로 두어도 작동하는 부분(main)에는 영향을 미치지 않을 것입니다.그렇다면 이제부터 Branch를 다루는 명령어를 알아봅시다..
2022.11.24
Git
no image
[Git] 이전 commit으로 돌아가는 명령어
commit 기록 보기 만약 VS Code의 터미널에서 작업을 하고 있다면 VS Code Extention인 git graph를 설치해서 보면 편합니다. 이전으로 가는 명령어 reset commit을 지우면서 이전으로 돌아가는 명령어입니다. reset 명령어 option으로 hard, soft, mixed가 존재합니다. --hard 옵션은 해당하는 해시값을 가진 commit으로 HEAD를 이동시킨 후 해당 commit 이후에 commit 된 내용을 완전히 삭제합니다. 코드도 같이 삭제됩니다. 만약 복구하고 싶다면 다음과 같이 할 수 있습니다. --soft 옵션은 해당하는 해시값을 가진 commit으로 HEAD를 이동시킨 후 해당 commit 이후에 commit 된 내용을 삭제하고 Staging Area로..
2022.11.23
Git
no image
[Git] Git의 작업 영역 & Git 기본 명령어
Git이란? Git은 리눅스의 창시자 리누스 토발즈가 리눅스의 각 버전들을 관리하기 위해 만든 버전 관리 프로그램이다. Git 시작 git으로 버전 관리를 하기 위해서는 git에게 현재 디렉터리를 관리를 요청해줘야 한다. 이 명령어를 치면 .git이라는 디렉터리가 생기는데 이 디렉터리 현재 디렉터리의 파일들이 변화되는 과정을 저장하고 있다 만약 관리하고 싶지 않은 디렉토리나 파일이 있다면. gitignore 파일을 생성해준 다음 관리하고 싶지 않은 디렉터리나 파일명을 작성해주면 된다. Git의 작업 순서도 Git의 작업 영역 Git에는 크게 3가지 종류의 작업 영역이 존재한다. Git은 위에 작업 순서도 그림처럼 Working Directory에서 Staging Area를 거쳐 Repository에 반영..
2022.11.23
Git

[Git] Git Branch

CloudCoke
|2022. 11. 24. 23:47

Git Branch

Git에서 Branch란 한 줄로 이어지던 커밋을 나무의 나뭇가지가 뻗어나가듯 커밋을 여러 줄로 만드는 것입니다.

Branch를 만드는 이유

잘 작동하는 코드를 작성하고 그 코드에 새로운 기능을 추가 싶어서 작업을 추가적으로 작업을 진행하다 보면 커밋이 계속 쌓이게 됩니다. 

그러다 만약 그 기능을 추가하지 않기로 한다면 어떻게 해야 할까요?

아마 revert를 이용해 되돌리거나 reset을 이용해 되돌리려 할 겁니다.

하지만 Branch를 이용해 작동하는 부분(main)은 그대로 두고 옆으로 가지를 만들어서 작업을 하면 어떨까요?

추가하고 싶지 않다면 가지를 지우거나 그대로 두어도 작동하는 부분(main)에는 영향을 미치지 않을 것입니다.

그렇다면 이제부터 Branch를 다루는 명령어를 알아봅시다!

Branch 확인하기

이 명령어를 사용하게 되면 내가 어떤 브랜치에 위치했는지 알 수 있습니다. (* 표시가 붙은 곳이 위치한 곳)

Branch 만들기

브랜치를 새로 만드는 명령어입니다.

Branch 바꾸기

새로 만든 브랜치로 이동하고 싶다면 다음과 같은 명령어를 사용하면 됩니다.

Branch 생성하면서 이동하기

브랜치를 생성하면서 이동하고 싶다면 다음 명령어를 사용하면 됩니다.

Branch 삭제

브랜치가 필요 없어졌다면 다음 명령어로 브랜치를 삭제할 수 있습니다.

주의할 점은 삭제하지 않는 브랜치로 이동한 뒤 브랜치를 삭제해야 한다는 점입니다.

Branch 이름 바꾸기

브랜치 이름이 마음에 들지 않아 바꾸고 싶다면 다음 명령어를 사용하면 됩니다.

Branch 합치기

여러 브랜치에서 작업을 하다 한 브랜치로 합치고 싶다면 다음 두 가지 명령어를 사용하면 됩니다.

두 가지 명령어의 차이점은 그래프가 그려지는 모습입니다.

merge

이 명령어는 기준이 되는 브랜치로 다른 브랜치를 끌어당겨서 하나로 합칩니다.

출처 : https://0314625.tistory.com/211

명령어를 사용하는 방법은 다음과 같습니다.

merge 취소하기

 

rebase

이 명령어는 선택한 브랜치를 이동시켜 원하는 브랜치에 정렬합니다.

출처 : https://giphy.com/gifs/synergic-BhjjlbtFCx8iObvLxt

명령어를 사용하는 방법은 다음과 같습니다.

rebase 취소하기

만약 정렬을 하다 충돌이 났을 때 이전 상태로 돌아가고 싶다면 아래 명령어로 취소를 할 수 있습니다.

rebase 진행하기

충돌이 났을 때 충돌이 난 부분을 수정해 충돌을 해결한 다음 아래 명령어를 사용하면 rebase가 다시 진행됩니다.

'Git' 카테고리의 다른 글

[Git] 이전 commit으로 돌아가는 명령어  (0) 2022.11.23
[Git] Git의 작업 영역 & Git 기본 명령어  (0) 2022.11.23

commit 기록 보기

만약 VS Code의 터미널에서 작업을 하고 있다면 VS Code Extention인 git graph를 설치해서 보면 편합니다.

이전으로 가는 명령어

reset

commit을 지우면서 이전으로 돌아가는 명령어입니다. 

reset 명령어 option으로 hard, soft, mixed가 존재합니다.

--hard 옵션은 해당하는 해시값을 가진 commit으로 HEAD를 이동시킨 후 해당 commit 이후에 commit 된 내용을 완전히 삭제합니다.

코드도 같이 삭제됩니다.

만약 복구하고 싶다면 다음과 같이 할 수 있습니다.

--soft 옵션은 해당하는 해시값을 가진 commit으로 HEAD를 이동시킨 후 해당 commit 이후에 commit 된 내용을 삭제하고 Staging Area로 이동시킵니다.

코드는 Staging Area에 add 된 상태입니다.

만약 commit을 하고 싶다면 add 명령어 필요 없이 바로 commit을 진행할 수 있습니다.

--mixed 옵션은 해당하는 해시값을 가진 commit으로 HEAD를 이동시킨 후 해당 commit 이후에 commit 된 내용을 삭제하고 Working Directory로 이동시킵니다.

코드는 Working Directory에 tracked 상태로 남아있게 됩니다.

만약 commit을 하고 싶다면 add 명령어를 이용해 Staging Area로 이동시킨 후 commit을 진행해야 합니다.

revert

지정한 commit을 복사해서 가장 마지막 commit 뒤에 붙여 넣는 형태의 명령어입니다.

revert 명령어를 사용할 때 파일의 충돌이 발생한다면 컴퓨터는 무엇이 우선순위인지 모르기 때문에 사람이 직접 명령을 해줘야 합니다.

 

'Git' 카테고리의 다른 글

[Git] Git Branch  (0) 2022.11.24
[Git] Git의 작업 영역 & Git 기본 명령어  (0) 2022.11.23

Git이란?

Git은 리눅스의 창시자 리누스 토발즈가 리눅스의 각 버전들을 관리하기 위해 만든 버전 관리 프로그램이다.

Git 시작

git으로 버전 관리를 하기 위해서는 git에게 현재 디렉터리를 관리를 요청해줘야 한다.

이 명령어를 치면 .git이라는 디렉터리가 생기는데 이 디렉터리 현재 디렉터리의 파일들이 변화되는 과정을 저장하고 있다

만약 관리하고 싶지 않은 디렉토리나 파일이 있다면. gitignore 파일을 생성해준 다음 관리하고 싶지 않은 디렉터리나 파일명을 작성해주면 된다.

Git의 작업 순서도

Git의 작업 영역

Git에는 크게 3가지 종류의 작업 영역이 존재한다.

Git은 위에 작업 순서도 그림처럼 Working Directory에서 Staging Area를 거쳐 Repository에 반영이 된다.

Working Directory (작업 디렉터리)

현재 코드를 작성하고 있는 공간 (작업 디렉터리)를 의미한다.

이 영역에는 두 가지 상태가 존재한다.

  • Tracked (추적)
    • 한 번이라도. git에 의해 관리된 적이 있는 파일
  • Untracked (추적되지 않음)
    • 한번이라도 .git에 의해 관리된 적이 없는 파일

Working Directory에서 작업한 내용을 Repository에 기록하고 싶다면 먼저 Staging Area에 등록을 해야 한다.

# 현재 위치에서 전체 파일 및 디렉터리 등록
git add .

Staging Area (대기소)

Repository에 기록하기 전 중간다리 역할을 한다.

Repository에 기록하기 전에 진짜 기록을 할 건지 마지막으로 물어보는 과정이라 볼 수 있다.

이 명령어를 치면 Editor가 뜨게 되는데 그곳에 commit 메시지를 작성해 주면 된다.

만약 Editor 없이 바로 commit 메시지를 작성하고 싶다면 다음과 같이 해주면 된다.

Repository (.git)

commit들이 저장되는 영역으로 Working Directory의 변경 이력들이 기록되어 있는 영역이다.

git init시 생성되는. git 디렉터리이기도 하다.

'Git' 카테고리의 다른 글

[Git] Git Branch  (0) 2022.11.24
[Git] 이전 commit으로 돌아가는 명령어  (0) 2022.11.23