elevne's Study Note
Git/GitHub (1: Start) 본문
Git 은 분산형 버전 관리 시스템이며 GitHub 은 Git 프로젝트 호스팅 서비스이다. 분산형 버전 관리 시스템에서 서버는 각 개발자 (클라이언트) 의 소스 코드와 버전 이력을 동기화해준다. 개발자는 최신 버전의 소스 뿐만 아니라 모든 버전 이력을 얻을 수 있는 것이다.
어플리케이션들은 배포 전후로 계속 업데이트된다. 지속적으로 일어나는 업데이트를 체계적으로 관리할 수 있게끔 해주는 버전 관리 서비스가 필요하다. 또 한 프로젝트에서 여러 개발자가 동시에 코드를 수정하고 덮어쓰면 충돌이 발생하기도 하는데, 이러한 상황을 관리해주는 서비스도 필요하다.
위와 같은 이유로 Git/GitHub 가 사용된다. Git 을 이용하면 이력 기록 및 추적이 상세하게 가능하며 소스 코드를 분산 저장할 수 있다. 또 Git 은 하나의 소스코드 파일에 대한 여러 변경 이력을 통합하는 기능도 제공한다는 강점이 있다. GitHub 은 Git 프로젝트를 지원하는 호스팅 서비스이다. Git 을 이용하는 원격 저장소 서버를 별도로 구축할 수도 있지만, GitHub 을 대신 사용할 수 있는 것이다. Public/Private 저장소를 분리하여 제공하며 각종 API 를 사용해볼 수도 있다.
가장 처음으로, 내 컴퓨터에 Git 지역 저장소를 생성하고 커밋을 만들어보았다. 폴더를 하나 생성하고 Git Bash 에서 해당 폴더로 cd 한 후 아래 명령어를 실행한다.
git init
.git 폴더가 생성되었으니 이제 이 프로젝트는 Git 으로 소스코드 버전 관리가 된다고 이해하면 된다. 그 다음으로는 git config 명령으로 Git 지역 저장소에 사용자를 등록한다.
git config user.name "github_name"
git config user.email "github_email"
위와 같이 등록을 해준 후 에디터에서 Commit 을 해볼 README.md 파일을 하나 아주 간단하게, 아무렇게나 작성한다. 그 후 git add 명령어를 통해 README.md 파일을 Commit 에 포함될 파일로 등록하고 Commit 을 진행한다.
git add README.md
git commit -m "comment..."
위 -m 옵션은 생성하는 Commit 의 메시지를 작성하는 옵션이다. git log 를 통해서 Commit 이 잘 생성되었는지 확인해볼 수 있다.
git log
지역 저장소에 생성한 커밋을 원격 저장소에 등록해보았다. 우선 Github 에서 새로운 Repository 를 생성한다. 그 다음 아래 명령을 실행해준다.
git remote add origin "https://github.com/repository주소"
git push origin main
git remote add 를 통해서 원격 저장소의 주소를 지역 저장소에 알려준다. 그 후 push 를 통해 커밋을 원격 저장소에 등록한다.
여기까지 진행해주면 본인의 Github Repository 에 커밋이 등록된 것을 확인할 수 있다.
오류 >> error: src refspec master does not match any >> 해당 에러가 발생할 수 있는데, 이는 Github 에서 pull 없이 push 를 진행할 경우 기존 내용을 삭제하는 등의 문제가 생길 수 있어 발생시키는 에러라고 한다. 해당 에러가 발생하면 새로운 Git repository 를 init 하고 다시 push 하면 된다고 한다.
Reference:
박미정의 깃&깃허브 입문
'ETC > Git' 카테고리의 다른 글
Git/GitHub (3: Branch 관리) (0) | 2023.07.08 |
---|---|
Git/GitHub (2: 기본 명령어 (2)) (0) | 2023.07.07 |
Git/GitHub (2: 기본 명령어 (1)) (0) | 2023.05.12 |