2008년에 공개된 분산 버전 관리 툴인 Git를 사용하는 프로젝트를 지원하는 웹 기반 호스팅 서비스
1. 코드 호스팅
GitHub는 Git의 원격 저장소 기능을 제공하므로, 사용자는 코드를 클라우드에 안전하게 저장하고 언제든지 접근할 수 있다. 이를 통해 다른 컴퓨터에서도 자신의 코드에 접근하거나, 다른 사용자와 코드를 공유할 수 있다.
2. 버전 관리
GitHub는 Git의 모든 기능을 지원하므로, 프로젝트의 모든 버전과 수정 내역을 추적하고 관리할 수 있다. 이를 통해 과거의 특정 시점으로 돌아갈 수 있고, 변경 사항을 비교하거나, 문제가 발생했을 때 원인을 찾아낼 수 있다.
3. 협업
GitHub는 코드를 공유하고, 다른 사용자와 함께 작업할 수 있는 기능을 제공합니다. 이를 통해 여러 사람이 동시에 같은 프로젝트에 작업할 수 있고, 코드 리뷰를 진행하거나, 피드백을 주고받을 수 있다. 특히, Pull Request
기능은 사용자가 자신의 변경사항을 다른 사용자에게 제안할 수 있게 해준다.
4. 이슈 트래킹 및 프로젝트 관리
GitHub는 이슈 트래킹 시스템과 프로젝트 관리 도구를 제공한다. 이를 통해 버그를 추적하거나, 기능을 개발하거나, 작업을 할당하거나, 프로젝트의 진행 상황을 관리할 수 있다.
5. 통합 및 확장
GitHub는 다양한 개발 도구와 통합될 수 있으며, 사용자 정의 스크립트나 앱을 통해 기능을 확장할 수 있다. 또한, GitHub Actions 등의 CI/CD 도구를 통해 코드 테스트와 배포를 자동화할 수 있다.
원격 저장소의 내용을 복사하여 로컬에 새로운 디렉토리를 생성하는 Git 명령어
git clone <repository_url>
git init과 git clone 모두 새로운 Git 저장소를 생성하는 데 사용되지만, 그 상황과 사용법이 다르다.
git init
은 기존에 없던 새로운 저장소를 초기화하는 데 사용
git clone
은 이미 존재하는 원격 저장소의 복사본을 만드는 데 사용
git remote add
: 원격 저장소 추가git remote add [별칭] [원격 저장소 URL]
git remote remove
: 원격 저장소 삭제git remote remove [별칭]
git remote -v
: 추가된 원격 저장소의 목록을 확인할git remote -v
git push <remote> <branch>
<branch>
이름의 브랜치를 <remote>
라는 원격 저장소에 푸시, 여기서 remote자리에는 별칭이 들어감 ! git push -u <remote> <branch>
-u
를 사용하면 원격 저장소에 푸시한 후에는 원격 브랜치가 로컬 브랜치와 연결된다. 이 연결을 통해, 원격 브랜치와 로컬 브랜치 사이의 관계를 명확하게 파악할 수 있다.Git에서 원격 저장소의 브랜치를 추적하는 로컬 브랜치
origin/master
와 같이 표현되며, 여기서 origin
은 원격 저장소의 이름이고, master
는 원격 저장소의 브랜치 이름git branch -r
git branch -a