(내일배움캠프)260316 TIL

2026. 3. 16. 20:00스파르타코딩클럽 Spring4기 내일배움캠프

오늘은 Git 사용법에 대해서 공부 하였습니다.

먼저 Git 이란?


내가 만들거나 작성한 파일이나 코드들의 변경 사항을 저장하고 관리하는 도구로서, 여러 사람과 작업할 때 수정내역을 더 추적하기 쉽게하고 협업할 수 있게 해주는 것입니다. 버전 관리 시스템이라고도 부릅니다.

 

Git을 이용하여 폴더에 git init을 하여 초기화 해주면 폴더에 .git이라는 숨겨진 폴더가 생겨나는데 그 안에서 폴더에서 일어나는 모든 변화를 저장하고 기록을 해줍니다.

 

그리고 이 폴더에 있는 기록을 이용해서 내가 작업하던 내역을 확인하거나 협업 중에 변경된 내용등을 쉽게 찾아볼 수 있게 됩니다.

 

그럼 Github는 무엇인가?


그냥 git만 이용하면 팀원과의 협업을 할 수가 없는데, 위에서 말했듯이 .git 폴더에 기록을 하는 것이기 때문에 팀원가 .git 폴더를 계속해서 공유를 하며 변화가 있을때마다 팀원에게서 .git 폴더를 받으면 많이 불편할겁니다.

그래서 생긴게 Github로, 내가 만든 프로젝트를 Github에 올려 저장하여 어디에서든 다운로드, 코드 리뷰, 병합, 수정 등을 할 수 있게해주는 프로젝트 공유 사이트입니다.

 

깃허브에서는 시각적으로 보이게 해주는 기능들도 많아서 편의성이 많이 좋아지는것 같습니다.

 


 

이번에 Git 협업 과제로 나온 내용을 해결해보겠습니다.

 

 

 

1. 계획 잡기


우선 첫번째로 우리가 해야할 내용들을 진행과정을 볼 수 있도록 정리해보았습니다.

깃허브에 있는 프로젝트와 이슈 기능을 사용하였습니다.

팀원이 해야할 내용을 Issue를 생성하여서 Ready 파트에 넣었습니다. Ready는 리소스나 준비등이 완료된 Issue를 넣는 곳으로 간단한 자기소개 md 문서를 작성하여서 올리는 것은 Ready 파트라고 생각하여 넣었습니다.

그리고 브랜치 main 병합은 PullRequest를 통해서 팀원들에게 모두 리뷰를 받고 진행하기로 하였습니다.

 

그런데 feature 브랜치에 양성훈이라는 브랜치를 만들려고 하니 이런 에러가 발생했습니다.

git checkout -b feature/양성훈
19:48:22.842: [D:\_dev\spartaGit\sparta-infinity-git-cowork] git -c credential.helper= -c core.quotepath=false -c log.showSignature=false push --progress --porcelain origin refs/heads/feature/양성훈:refs/heads/feature/양성훈 --set-upstream
Total 0 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
remote: fatal error in commit_refs        
error: failed to push some refs to 'https://github.com/tjdgns0618/sparta-infinity-git-cowork.git'
To https://github.com/tjdgns0618/sparta-infinity-git-cowork.git
!	refs/heads/feature/양성훈:refs/heads/feature/양성훈	[remote rejected] (failure)

 

이유를 알고보니 feature라는 브랜치를 먼저 만들고 해서 오류가 나는거였습니다.

브랜치를 지운다음 다시 하니 잘 작동하였습니다.

2. 자기소개 md 문서 작성 / PullRequest 작성


간단하게 양성훈.md를 만들어서 자기소개를 작성해주었습니다.

브랜치를 만들어서 체크아웃 하였습니다.

members 폴더를 만들어 그안에 양성훈.md 문서를 넣어주었습니다.

그러니 members 폴더가 untracked 상태로 있는것을 확인하고 members 폴더를 Stage에 넣었습니다.

 

git add members를 통해서 폴더를 Stage 상태로 변경하고 commit을 진행하였습니다.

 

이후 commit 제목을 간단히 적어주었습니다.

 

push를 통해서 새로 만든 브랜치와 커밋 내용을 깃허브에 적용해 주었습니다.

깃허브에 잘 올라간 모습

이제 PullRequest를 작성해보겠습니다.

내용은 위와 같이 작성하였습니다.

 

이후에는 main 브랜치와 병합만 하면 끝입니다!!!