일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- git
- ViewModel
- Android
- github
- ReactiveProgramming
- Room
- Database
- livedata
- rxjava
- homebrew
- IntelliJ
- Algorithm
- library
- leetcode
- Java8
- Jetpack
- FRAGMENT
- programmers
- sourcetree
- Kotlin
- androidstudio
- Java
- Version
- Today
- Total
Learn & Run
Git & Sourcetree - Branch를 이해하고 만들어보기 본문
목표
이번 포스팅에서는 Git에서의 브랜치(Branch)의 용어를 이해해보고 사용 이유에 대해서 알아보도록 합니다.
하나의 버전안에서 안정적인 작업과 안정적이지 않은 작업을 동시에 진행하는 도중에, 미래가 불분명하거나 되돌리고 싶은 부분에 대해서 Reset과 Revert을 이용하고 싶은 충동이 들 수 있습니다. 하지만, 생각보다 쉬운 상황은 아닙니다. 프로젝트가 거대해지고 관리하는 파일들이 많다는 가정하에 우리가 되돌리고 싶은 부분만을 오려내는 작업을 하는 것은 쉽지 않습니다. 해결책으로 같은 버전의 프로젝트를 복사하여 안정적인 작업과 안정적이지 않은 작업을 분리해서 하는 것이 좋지 않을까하는 생각이 들 수도 있습니다. 결국, 원본과 카피된 프로젝트에 각각 하고자했던 일들을 잘 마무리 했다고 가정해봅시다. 이제 프로젝트를 하나로 합쳐야하는 상황이 오게됩니다. 과연 이 상태에서 어떻게 프로젝트를 합쳐야하는지에 대한 또 다른 문제가 발생하게 됩니다. 이것 또한 프로젝트가 단순하게 파일이 하나라고 한다면, 문제가 크진 않겠지만, 거대한 프로젝트라고 한다면 일일히 다 복사 붙여넣기를 하시겠습니까? 이러한 모든 문제를 해결하기 위해서 우리는 Git에서 제공하는 Branch를 이용해봅니다. Branch를 통해서 마치 두 개의 프로젝트를 따로 작업을 하는 것과 같은 효과를 내면서 동시에 이 모든 작업을 원본 프로젝트로 매우 간편하게 병합해주는 기능을 쉽게 사용할 수 있습니다. 병합하는 것은 다음 포스팅에 올릴 계획입니다.
1. 브랜치 만들기
- 브랜치를 만든 현재 버전을 잘 기억하도록 합니다.
2. master 브랜치에서 안정적인 작업을 진행한 후 Commit하기
- master 브랜치에서는 일상적이고 안정적인 작업을 하고 있다고 가정합니다.
3. test 브랜치로 이동하기 (더블 클릭으로 이동)
- test 브랜치로 이동하여 test.txt 파일을 열어 확인해본 후 master 브랜치가 선택되었을 때랑 어떠한 차이점이 있는지 알아봅니다.
4. 브랜치 바꾸어가며 확인해보기
- 브랜치를 바꿔가며 test.txt파일이 어떻게 바뀌는지 다시 확인해봅니다. 브랜치를 이용하여 우리는 프로젝트를 Copy하지 않고 각각 다른 파일들을 수정할 수 있다는 것을 확인할 수 있습니다.
- 브랜치를 이용하지 않고 하나의 프로젝트 내에서 안정적인 작업과 안정적이지 않은 작업들을 동시에 진행했을 때랑 브랜치를 이용하여 각각 작업들을 진행했을 때 어떠한 점이 차이가 있는지 확인해 보도록 합니다.
'Collaboration > Git' 카테고리의 다른 글
Git & Sourcetree - Branch 충돌 해결하기 (0) | 2021.01.17 |
---|---|
Git & Sourcetree - Branch 병합(Merge)하기 (2) | 2021.01.11 |
Git & Sourcetree - Revert 사용해보기 (0) | 2021.01.07 |
Git & Sourcetree - Reset의 다양한 옵션 사용해보기 (0) | 2021.01.07 |
Git & Sourcetree - 수정사항 취소하기 (0) | 2021.01.07 |