안녕하세요.

특정 시점을 기준으로 독립적으로 진행할 수 있는 Branch에 대해서 알아보겠습니다.

개념보다는 실습을 할 것이고, 이전 포스팅과 이어집니다.

 


 

저번에 first text를 commit 하여 기록하였습니다.

 

branch를 이용하면 이 Commit 시점을 기준으로 독립적으로 작업을 진행할 수 있습니다.

 

 

second branch를 생성하여, second branch로 작업을 한다고 명령어를 입력했습니다.

 

 

기존 first.txt에는 45645 가 저장되어있습니다.

 

 

first.txt의 내용을 1+1=2로 변경했습니다.

 

 

second branch에서 해당 내용을 Commit했습니다.

 

 

log 를 확인하면, second branch로 Commit된 이력을 확인할 수 있습니다.

 

 

master branch로 변경하고, first.txt를 확인해보면 second에서 commit한 1+1=2가 아닌 master에서 commit 했던 내용이 유지되는 것을 확인할 수 있습니다.

 

 

여기서 또 third branch를 생성해서 또다른 작업을 독립적으로 진행할 수 있겠죠.

 

 

해당 branch의 작업을 master branch로 병합하는 작업을 merge라고 합니다.

git merge bracn이름

 

second branch의 작업을 병합하고나서, first.txt를 확인해보면 내용이 변경된 것을 확인할 수 있습니다.

 

 

 


 

branch에 대해서 실습해보았습니다. 확실히 사용을 해봐야 이해도 잘 되는 것 같습니다.

 

감사합니다.

 

 

 

'IT 지식 > Git' 카테고리의 다른 글

[Git] Github 사용법. Git 명령어 알아보기  (0) 2021.09.05
[Git] Git 이란? 정의 및 용어 정리  (0) 2021.09.04

안녕하세요~ 오늘은 Git에서 사용되는 명령어에 대해서 알아보겠습니다.

이전 글에서 개념을 어느정도 확립하고 실습하는 것도 괜찮고 실습 하면서 이런 기능이구나 하면서 이론을 보는 것도 괜찮을 것 같습니다.

 

 


 

# Git 명령어 정리

 

 git init

 1. 로컬 저장소 선언을 하는 명령어입니다.

원하는 폴더로 이동 후 로컬 저장소를 생성하면 됩니다.

 

 

 git remote add 원격저장소이름지정 원격저장소주소

2. 로컬 저장소를 원격 저장소에 연결합니다.

지정한 원격 저장소의 이름으로 push 작업을 하게됩니다.

 

 

 git add .
 -- 해당 폴더의 모든 파일을 Index에 등록
 
 or
 
 git add 파일명

3. Index에 Commit할 파일을 등록합니다.

Index에 등록한 파일들만 Commit할 때 저장됩니다.

 

 

git branch
-- branch 목록 확인

git branch 브랜치이름
-- branch 생성

git checkout 브랜치이름 
-- branch 변경

4. branch를 설정합니다.

처음에는 존재하지 않으며 master branch로 커밋됩니다.

 

 

git commit -m "커밋 메세지 작성"

5. 인덱스에 등록한 파일들을 시점으로 기록합니다.

 

 

git log

5. commit 이력을 확인합니다.

 

 

git push 원격저장소이름 branch이름

6. 특정 branch로 해당 원격 저장소에 업로드합니다.

 

 

 

 

# 테스트 실습

1. 다음과 같이 Git의 로컬 저장소를 만들고 싶은 폴더로 이동 후, 위의 명령어를 통해 git 로컬 저장소를 생성합니다.

 

 

2. 생성한 Github의 원격 저장소의 주소를 통해 원격 저장소와 연결합니다.

저는 test란 이름의 원격 저장소를 연결했습니다.

 

 

3. Index에 업로드할 파일을 등록합니다.

 

 

4. 로컬 저장소에 이 시점을 commit 합니다.

 

 

5. Commit 이력을 확인합니다. master branch로 Commit 된 것을 확인할 수 있습니다.

 

 

6. 이제 master branch가 생긴 것을 확인할 수 있습니다.

 

Local 저장소에 Commit을 한 것이기때문에 아직 원격 저장소에는 업로드가 안된 모습을 확인할 수 있습니다.

 

7. master branch의 작업을 push합니다.

 

 

8. github에서 master branch의 Commit이 업로드된 것을 확인할 수 있습니다.

 

 


Git의 명령어에 대해 실습해보았습니다.

다음은 branch를 이용해 특정 시점을 기준으로 독립적으로 작업을 진행하는 것을 확인해보겠습니다.

 

 

'IT 지식 > Git' 카테고리의 다른 글

[Git] Github Branch에 대해서 실습, merge  (0) 2021.09.06
[Git] Git 이란? 정의 및 용어 정리  (0) 2021.09.04

안녕하세요. 오늘은 git에 대해서 알아보겠습니다.

 

 


 

Git이란,

소스 코드를 효율적으로 관리하기 위해 만들어진 "분산형 버전 관리 시스템" 입니다.

원래는 Linux 소스코드를 관리할 목적으로 만들어졌습니다.

 

Git을 사용하는 이유는, 다음과 같습니다.

1. 소스 코드의 변경 이력을 쉽게 확인 가능합니다.

2. 특정 시점에 저장된 버전과 비교하거나 특정 시점으로 되돌아갈 수 있습니다.

 

 

그러면 Git이라는 시스템을 이용해서 저장되는 저장소. 즉 Repository에 대해서 알아보겠습니다.

 

말 그대로 파일이나 폴더를 저장해두는 곳으로, Local 저장소와 Remote(=원격) 저장소로 나뉩니다.

  • Local Repository: 나의 PC에 저장되는 개인 전용 저장소
  • Remote Repository: 원격 저장소 전용 서버에 저장되는 저장소

예를 들어 철수와 짱구가 같이 작업물을 만든다고 했을 때, css를 짱구가 html을 철수가 맡게 된다고 한다면

html은 철수의 로컬 저장소에서 철수가 작업을 완료한 후 push라는 작업을 통해 원격 저장소에 업로드를 하고,

css는 짱구의 로컬 저장소에서 짱구가 작업을 완료한 후 push라는 작업을 통해 원격 저장소에 업로드가 되게 되면

원격 저장소에 html, css가 합쳐져서 하나의 작업물이 만들어지게 됩니다.

 

 

# Commit 

커밋이란, 변경 사항을 로컬 저장소에 기록하는 것을 말합니다.

 

 

# Index 

git에서는 Commit을 하기 전에 그 사이의 공간인 "인덱스"라는 공간에 파일의 상태를 기록하게 되어있습니다.

그 이유는 철수가 first.html과 second.html을 생성하고 작업하고있는데, 짱구가 작업한거 올려달라고 했을 때

second.html은 작업이 덜되어 first.html만 올리고 싶을 때! 이 때 필요한게 Index입니다.

자신이 로컬 저장소에서 변경/작업한 파일 중 선택하는 작업을 "Index에 등록"한다고 표현합니다.

 

 

# Branch

Branch는 일련의 작업을 독립적으로 만들기 위한 개념입니다.

특정 시점(마지막 Commit)에서 여러가지 작업을 해야할 때, 여러 작업을 동시에 진행할 수 있게 해줍니다.

개인적으로 Git에서 가장 중요한 개념이라고 생각합니다

 

예를 들어

철수는 게시판을 만들고 난 이후에, 게시판에 첨부파일을 첨부할 수 있는 기능을 작업하고있었습니다.

그런데 갑자기 게시판 등록 로직에 오류가 발생하여 빠르게 수정해달라는 요청을 받았습니다.

첨부파일 기능은 완료되지 않아서 오래걸리는데, 해당 로직을 다 삭제하고 초기로 돌아가서 작업을 해야할까요?

 

아닙니다.

Branch를 이용해, 첨부파일을 작업하는 Branch와 로직의 버그를 수정하는 Branch로 나눌 수 있습니다.

 

Master Branch(관리자 Branch)를 기준으로, attchBranch를 만들고 작업을 하고 있었다면 작업을 하던 도중 Commit을 하고 Master Branch로 돌아가서 bugBranch를 만들어서 작업하면 됩니다.

-> Master Branch로 돌아가면 마지막 master Brnach의 Commit 시점으로 파일들이 변경되기때문에 타 Branch의 작업과 독립적으로 작업할 수 있습니다. 첨부파일의 작업은 모두 attachBranch에 저장되어 있습니다.

 

Branch는 직접 해보시는게 이해가 빠를겁니다!

저도 이해가 안되서 커뮤니티에 질문하려다가 직접해보니 바로 이해됐다는... 알고보니 신세계 ㄷㄷ

 

 

# Push

원격 저장소에 Commit 내용을 업로드하는 것을 말합니다.

 

 

 

 


 

Git을 사용을 해보니 VMware의 스냅샷과 같이 사용할 수 있어서 편리했던 경험이 있습니다.

버전을 비교하면서 수정할 수 있는 것도 장점으로 느껴졌습니다.

 

다음엔 실습 과정을 업로드하겠습니다.

 

 

참조: 

https://backlog.com/git-tutorial/kr/intro/intro1_1.html

정말 잘 정리되어있는 튜토리얼입니다. 이 글도 참고하세요~ 

'IT 지식 > Git' 카테고리의 다른 글

[Git] Github Branch에 대해서 실습, merge  (0) 2021.09.06
[Git] Github 사용법. Git 명령어 알아보기  (0) 2021.09.05

+ Recent posts