<head>
<format> "HTML" </format>
<style> "일기" </style>
<why> [ "형식보다 내용에 집중" , "빠르게 작성 가능"] </why>
<time> "종료 10분 전} </time>
</head>
<body>
오늘은 Git으로 협업하는 방법의 기초를 배웠다.
Git은 대표적인 버전 관리 도구로서, 코드를 버전별로 편리하게 관리할 수 있는 도구이다.
Git은 로컬 저장소(PC)에 설치되고, 코드를 필요(기능, feature)에 따라 여러 버전으로 분기하여(branching) 작성하고 단계적으로 저장(add, commit)할 수 있는 기능을 제공한다.
오늘 Git을 이용해 협업하는 연습을 해보았다.
1. 타인의 Github(원격 저장소)에 있는 코드를 내 로컬 Git으로 가져오기를 실습했다. 이를 Cloning이라고 한다.
- 참고 : 내 Github로 바로 가져오는 것은 Fork라고 한다. 'Fork from ~ '과 같이 출처가 표시되기 때문에 불펌은 원천적으로 불가능하다.

2. 내 로컬 Git에 있는 코드를 내 Github에 업로드하기를 실습했다. git add와 git commit을 수행해야 했다.
-> 트러블슈팅 발생
튜터님의 도움을 받아 다음과 같이 트러블슈팅을 수행했다.



내가 push하는 깃허브의 저장소는 origin에 저장되어 있다. git remote -v 커맨드를 통해 origin의 주소가 소유자의 리포지토리로 등록되어 있음을 확인, origin 값을 지우고 내 리포지토리로 대체하였다.

이후 git status 커맨드를 통해 현재 메인 브랜치에 커밋할 것이 있는지 확인한다.
'working tree clean'이라며 git commit 및 push 명령이 수행되지 않는다. 에러 원인을 살펴보니 현재 브랜치가 메인 브랜치여서 커밋할 더 상위 브랜치(upstream branch)가 없다고 한다. 하지만 remote를 upstream으로 설정하면 현재 브랜치 내용 push가 가능하다고 한다.
바로 실행한다.

성공적으로 커밋 및 push되었다. 결과를 보니 새로운 main 브랜치가 생성, origin으로 지정되어 해당 브랜치로 push가 성공적으로 이뤄진 것으로 보인다.
이후 git rm -r --cached .idea를 통해 .idea 폴더(로컬마다 자동으로 생성되는 설정 파일이 들어있는 파일)의 캐시를 무효화했다.

이후 "설정 파일 제외"라는 이름으로 commit, push를 다시 진행했다.

성공.
.idea/ 이하의 모든 파일이 untracked files로 분류됐다. 이는 git의 관리 대상에서 제외한다는 뜻이다.
git -rm -r --cached (폴더명) 및 대신, .gitignore에 제외할 파일의 경로 (또는 폴더명)를 적어야주어도 git에서 자동으로 제외한다. 참고로 .gitignore가 없으면 만들면 된다.
기타 Troubleshooting- Convention 불일치 문제: 과제 발제가 담긴 Notion 문서와 템플릿 파일에 포함된 README.MD에 모두 과제 가이드라인 및 예시 파일명이 적혀져 있었는데, 절차는 동일하지만 파일 및 폴더명 작성 예시가 달라 팀원 각자가 push했을 때 이름이 통일성이 떨어졌다.
: 앞으로는 공동 개발 전에 convention을 반드시 협의하고 노션에 적어놓도록 해야겠다.
오늘 잘한 점 - 시간을 정해 두고 주기적으로 만나 진행상황을 점검한 점이 좋았다. 텀이 짧아서 뒤쳐진 팀원과 나의 상대적 진도를 확인할 수 있고, 이슈가 있을 때 수시로 이야기하며 빠르게 해결할 수 있는 점이 좋았다.
</body>
'ETC > 1. Today I Learned' 카테고리의 다른 글
| [Git 기초] 브랜치 전략 (0) | 2025.12.03 |
|---|---|
| [Git 기초] Branch가 만들어지지 않는 오류 해결 (0) | 2025.12.02 |
| 인텔리제이에서 .idea 설정 파일 프로젝트에서 제거하기 (0) | 2025.12.02 |
| [SQL Exercise] 7. Subquery, JOIN, PIVOT TABLE (0) | 2025.11.28 |
| 웹개발의 기초 (0) | 2025.11.25 |