1. 브랜치

→ 기능 작성 시 반영될지 안될지 모르는 기능을 임시적으로 저장하는 새로운 노선을 만드는 것

즉, 특정 시점에 논리적인 복사본을 만들어 기능 단위로 반영여부를 결정하며 개발하도록 도와주는 기능

 

1) 소스트리로 브랜치 생성하기

 

위와 같이 브랜치를 생성했고, 아직 다른 작업을 하지 않았기 때문에 새로운 브랜치와 마스터 브랜치는 차이가 없다.

 

a.txt 파일 추가 후 커밋하면 위와 같이 feature;a가 올라간 것을 확인할 수 있다.

 

더블클릭을 통해 master 브랜치로 체크아웃하고 폴더를 확인해보면 a.txt가 없는 것을 확인할 수 있다.

 

위와 같이 gittest.txt 파일의 내용을 수정해준 후

커밋을 진행하면 위와 같이 master 브랜치에 커밋된 것을 확인할 수 있다.

 

2) CLI로 브랜치 생성하기

git branch 브랜치명 명령어를 통해 새 브랜치를 생성할 수 있다.

이때 홑따옴표를 사용하는 경우 ' ' 로 감싸주어야 한다.

브랜치를 생성하면서 동시에 체크아웃까지 원한다면 git checkout -b 브랜치명을 이용하면 된다.

 

git branch 명령어를 통해 현재 레포지토리 내부의 브랜치 전체를 조회할 수 있다.

 

git checkout 명령어를 통해 새로운 브랜치를 체크아웃한 것을 확인할 수 있다.

 

새로운 a.txt 파일 생성 후

 

add, commit 명령어를 이용하여 스테이지에 올리고 커밋까지 진행한다.

 

git log --graph : 단순조회

git log --branches --graph --decorate --oneline : 전체브랜치 한줄로 시각화

git log --graph --all : 전체 로그 다 조회

 

master 브랜치를 체크아웃한다.

 

gittest.txt 파일 수정 후 위와 같이 add와 commit도 진행한다.

 

브랜치를 확인해보면 위와 같이 나눠져 있는 것을 확인할 수 있다.

 

※ 만약, 추가기능을 반영하지 않는다면 추가브랜치를 삭제해도 된다.

→ git branch -d 브랜치명 명령어를 이용해 삭제할 수 있다.

'네트워크캠퍼스 > GIT, GITHUB' 카테고리의 다른 글

클론  (0) 2024.01.11
로컬 저장소 내역 깃허브 업로드  (0) 2024.01.10
병합  (0) 2024.01.05
커맨드라인을 활용한 깃  (0) 2024.01.03
소스트리를 활용한 깃  (0) 2024.01.02

1. 커맨드라인을 활용한 깃

1) repository 생성

CLI에서 git으로 폴더를 관리하는 경우 git으로 관리하는 폴더 접근 후 git bash here 클릭

 

git init 명령어를 사용하여 최초 .git 폴더를 생성할 수 있다.

 

2) 첫 번째 버전 생성 + 스냅샷 정보 시각화

gittest.txt라는 빈 메모장 생성

 

git status 명령어를 통해 현재 스테이지의 상태 조회 가능

 

git add 파일명 : 특정 파일을 스테이지에 올림

git add . : 현재 작업공간의 모든 파일을 스테이지에 올림

 

git add 해준 후 git status로 다시 확인해보면 아까 untracked 였던 gittest.txt 파일이 add된 것을 확인할 수 있다.

 

git commit -m "메세지" 명령어를 통해 커밋 메세지를 남기며 커밋할 수 있고, status를 확인해보면 최종 커밋 이후 변경사항이 없는 것을 확인할 수 있다.

즉, 커밋하면 첫 버전이 등록된 것이고 스테이지에 있던 파일은 소멸된다.

 

git log 명령어를 통해 해시코드와 커밋내역을 확인할 수 있다.

 

git log --graph 명령어 활용 시 왼쪽에 그래프 형태로 확인할 수 있다.

 

3) 두 번째 버전 생성 + 스냅샷 시각화

위와 같이 수정

 

git status를 해보면 위와 같이 변경이 감지된 것을 확인할 수 있다.

작업 폴더의 버전이 저장소의 버전보다 높아졌기 때문에 작업 내역을 다시 스냅샷해야 한다.

 

git add한 후 커밋을 통해 스냅샷을 찍을 수 있고, 두 번째 버전도 저장소에 등록되고 스테이지에 있던 파일은 소멸된다.

 

git log --graph로 조회해보면 ☆(커밋)이 2개인 것을 확인할 수 있다.

HEAD는 현재 조회중인 커밋 내용

 

4) 세 번째 버전 생성 + 스냅샷 시각화

gitsub.txt 파일 생성

 

위와 같이 변경사항이 있는 것을 확인할 수 있다.

 

git add 명령어를 통해 gitsub.txt 파일을 스테이지에 올릴 수 있다.

 

위와 같이 세 번째 커밋을 수행

 

 

 

※ CLI의 경우 스테이지에서 삭제하고자 할 때 git reset 파일명 명령어 사용

 

5) CLI 환경에서 수행하는 체크아웃

git checkout 커밋고유번호를 통해 체크아웃 가능

※ 고유번호는 앞 7글자만 입력해도 된다.

 

위와 같이 git checkout 명령어를 활용하여 체크아웃을 할 수 있다.

 

해당 폴더를 확인해보면 위와 같이 첫번째 스냅샷을 확인할 수 있다.

 

git log는 현재 체크아웃 중인 시점과 이전 커밋만 보여주므로 전체 커밋내역을 확인하기 위해서는 git log --all 명령어를 사용해야 한다.

 

최신버전 커밋으로 돌아갈 때는 위 방식으로 고유번호를 다시 체크해도 되지만 위와 같이 git checkout - 명령어를 통해 최신커밋으로 이동할 수도 있다.

 

위와 같이 최신 버전의 스냅샷으로 돌아온 것을 확인할 수 있다.

'네트워크캠퍼스 > GIT, GITHUB' 카테고리의 다른 글

클론  (0) 2024.01.11
로컬 저장소 내역 깃허브 업로드  (0) 2024.01.10
병합  (0) 2024.01.05
브랜치  (0) 2024.01.04
소스트리를 활용한 깃  (0) 2024.01.02

1. 깃의 구조

1) 버전관리의 필요성

→ 한 파일의 시간대별로 수정 이력을 남겨 최신버전 구분 가능

- 원하는 버전으로 바꾸는 것도 가능

- 언제 어떻게 저장되었는지 파일 관리 가능

 

2) 깃 시작

- .git이라는 폴더를 관리 대상 폴더에 만들어 내역 저장

- CLI 환경에서는 해당 폴더에서 git init 명령어 수행

- sourcetree GUI 환경에서는 상단 메뉴바의 create 탭 이용

 

3) 깃/깃허브의 논리적 저장 구조

① LOCAL → 본인 PC를 의미

- Workng Directory : 실제 PC에서 git으로 관리하는 대상 폴더

- Staging Area : 스냅샷 대기

- Repository : 스냅샷 저장

② REMOTE → 깃의 내역을 저장할 수 있는 클라우드 서비스 (깃허브)

 

4) 스냅샷

→  해당 구간의 모든 파일을 저장

- 어떤 버전으로 이동하더라도 바로 이동 가능

- 저장공간의 효율성에서 우월

 

2. 소스트리를 활용한 깃

1) repository 생성

 

2) 첫 번째 버전 생성 + 스냅샷 정보 시각화

 

.git이라는 파일이 생성된 것을 확인할 수 있음

위에서 생성한 폴더에 gittest.txt라는 파일 생성

 

깃에 돌아오면 위와 같이 스테이지되지 않은 파일에 추가됨

 

☆ 버전관리를 위해서는 반드시 repository에 스냅샷이 직혀 있어야 함

스냅샷을 촬영하고 싶다면 반드시 스테이지에 올라가 있어야 하고, 스테이지에 올렸지만 마음에 안 들면 다시 내려올 수 있음

 

 

커밋메시지 저장 후 커밋

 

3) 두 번째 버전 생성 + 스냅샷 시각화

 

 

파일 내용 변경 후 돌아오면 위와 같이 변경사항 확인 가능 -> 다시 스냅샷 촬영해야 함

 

 

수행 결과에 의해 두 개의 버전 확인 가능

 

4) 세 번째 버전 생성 + 스냅샷 시각화

 

gitsub.txt 새로운 파일 생성

 

 

위와 같이 스테이지에 올리고 커밋

 

두 번째 버전도 저장소에 등록되고 스테이지에 있던 파일은 소멸됨

 

5) 체크아웃 : 버전 되돌리기

 

원하는 버전을 더블클릭하여 되돌릴 수 있음

 

 

HEAD라는 태그가 선택한 버전에 생긴 것을 확인할 수 있음

 

 

해당 폴더를 확인해보면 스냅샷 방식이므로 gitsub.txt는 사라진 것을 확인할 수 있음

'네트워크캠퍼스 > GIT, GITHUB' 카테고리의 다른 글

클론  (0) 2024.01.11
로컬 저장소 내역 깃허브 업로드  (0) 2024.01.10
병합  (0) 2024.01.05
브랜치  (0) 2024.01.04
커맨드라인을 활용한 깃  (0) 2024.01.03

+ Recent posts