본문 바로가기
Android

Git & Github 간단한 사용방법 정리 + 브랜치 만드는 이유

by kkong93 2023. 8. 2.
반응형

Git이란 무엇일까?

Git은 소스 코드 관리 시스템이며, GitHub는 Git을 웹 기반으로 호스팅하는 서비스입니다.

아래 명령어를 사용해 소스코드를 관리할 수 있습니다.

 

Git설치하기

이미 설치되어있다면 아래 명령어로 version을 확인 가능합니다.

git --version

Git이 설치되어 있지 않다면, 공식사이트에서 다운로드 및 설치가 가능합니다

https://git-scm.com/downloads

 

Git - Downloads

Downloads macOS Windows Linux/Unix Older releases are available and the Git source repository is on GitHub. GUI Clients Git comes with built-in GUI tools (git-gui, gitk), but there are several third-party tools for users looking for a platform-specific exp

git-scm.com

 

Github에서 코드 가져오기 (Clone)

GitHub에서 코드를 가져오려면 "git clone" 명령어를 사용합니다. 이 명령어는 원격 저장소의 내용을 로컬 디렉토리에 복제합니다. "git clone" 다음에는 원격 저장소의 URL을 입력합니다.

저장소의 URL은 github의 아래 그림에서 확인 가능합니다

git clone https://github.com/user/repo.git

코드 변경 및 커밋 (Commit)

코드 변경 후, 변경 사항을 저장하려면 먼저 "git add" 명령어를 사용하여 변경된 파일을 스테이징 영역에 추가해야 합니다.

git add filename
git add .
git commit -m "Commit message"

GitHub에 코드 업로드 (Push)

커밋한 후에는 "git push" 명령어를 사용하여 변경 사항을 GitHub 원격 저장소에 업로드해야 합니다

git push origin master

 

Branch 만들기

새로운 브랜치를 만들려면 "git branch" 명령어를 사용하세요.

git branch branchname

새로운 브랜치로 이동하려면 checkout 명령어를 사용하세요.

git checkout branchname

두 단계를 한번에 수행하는 명령어는 아래와 같습니다.

git checkout -b branchname

 


Branch를 만드는 이유는 뭘까?

Git에서 브랜치를 만드는 주요 이유는 여러 사람이 동시에 프로젝트를 진행하면서 서로의 작업에 영향을 주지 않고 독립적으로 작업하기 위함입니다. 브랜치를 사용하면 각 개발자는 자신의 브랜치에서 코드를 수정하고 테스트할 수 있습니다. 

다음은 브랜치를 사용하는 몇 가지 주요 사례입니다:

1. 새로운 기능 개발: 새로운 기능을 개발할 때, 이를 메인 브랜치에서 직접 개발하지 않고 새로운 브랜치를 만들어 개발하는 것이 일반적입니다. 이렇게 하면 새로운 기능이 완전히 완성되고 테스트되기 전까지 메인 브랜치에 영향을 주지 않습니다.

2. 버그 수정: 버그를 수정할 때도 브랜치를 사용합니다. 버그 수정 브랜치에서 버그를 수정하고 테스트한 후에 메인 브랜치에 병합합니다.

3. 실험적인 변경: 브랜치는 코드에 대한 실험적인 변경을 안전하게 수행할 수 있는 방법을 제공합니다. 실험 브랜치에서 변경을 수행하고, 성공적이면 메인 브랜치에 병합하며, 실패하면 브랜치를 삭제하면 됩니다.

4. 코드 리뷰: 새로운 코드를 메인 브랜치에 병합하기 전에 다른 개발자들이 코드 리뷰를 할 수 있도록 하는 데에도 브랜치가 사용됩니다. 

이처럼 브랜치를 사용하면 여러 개발자가 동시에 작업을 진행하면서도 코드 베이스를 안정적으로 유지할 수 있습니다. 또한, 각 브랜치에서의 변경 사항을 추적함으로써 누가 어떤 변경을 했는지, 언제 변경이 이루어졌는지 등의 정보를 알 수 있어 코드의 히스토리를 관리하는 데에도 도움이 됩니다.

반응형

'Android' 카테고리의 다른 글

Jetpack Media3 알아보기  (0) 2023.09.29
LiveData와 Flow 어떤 걸 써야할까?  (0) 2023.09.29
ExoPlayer clip media  (0) 2023.08.01
Android 이미지 비율 계산 Ratio  (0) 2023.07.25
Android Fragment간 통신방법  (0) 2023.07.05

댓글