25.07.22 화 학습진도 58일차
20. Git/Github 이론 & 실전적용
7. 사용하기
9-14클립
8. 다른 사용법
1. 터미널에서 사용하기 (이론)
3. VSCode에서 사용하기 (이론)
9. ISSUES
1. ISSUES (이론)
10. README
11. 전체 리뷰 및 정리
git pull 실패 또는 충돌(conflict)
같은 파일의 같은 부분을 서로 다르게 수정한 경우
Git이 자동 병합(merge) 을 시도하다가 충돌이 발생함
충돌이 난 파일
<<<<<<< HEAD
console.log("로그인 성공!");
=======
console.log("Welcome!");
>>>>>>> origin/main
수동으로 충돌 수정
그리고 충돌 표시 줄들 (<<<<<<<, =======, >>>>>>>)은 꼭 삭제!
console.log("로그인 성공! Welcome!");
수정 후 add & commit
git add main.js
git commit -m "충돌 해결: main.js 메시지 조정"
필요한 경우 push
git push origin main
내 GitHub 계정으로 다른 사람 저장소를 복사하는 것
원본 저장소를 내 계정으로 그대로 복제 → 내 마음대로 수정 가능
내 저장소이기 때문에 자유롭게 브랜치 만들고 PR(풀 리퀘스트) 보낼 수 있음
주로 오픈소스 프로젝트에 기여할 때 사용
Fork → Clone → Pull Request (기여 흐름)
Fork
원본 저장소를 내 GitHub 계정으로 복사
(GitHub 웹사이트에서 “Fork” 버튼 클릭)
Clone
내 GitHub 저장소를 내 컴퓨터로 복제
( git clone https://github.com/내아이디/포크된저장소.git )
개발 및 커밋
Push
내 GitHub 계정의 포크 저장소로 푸시
Pull Request (PR)
원본 저장소에 내 변경사항 반영 요청 (협업 제안)
Pull Request 다른사람에게 내 브랜치를 merge 해달라는 요청
어떤부분을 어떻게 수정했는지
피드백 요청하는 부분은 정확히 어떤 파일의 어느 부분인지 기입한다.
GitHub에서 PR 만드는 방법
GitHub 저장소 페이지에서
→ 내 Fork 저장소의 Compare & pull request 버튼 클릭
→ 제목과 설명 작성 → Create pull request 클릭
어떤 브랜치에서 어떤 브랜치로 merge 요청할 것인지 설정
pull request메시지 작성
merge할 두 브랜치의 소스코드 비교
프로젝트 내에서 작업할 내용, 개선점, 버그, 질문 등을 기록하고 관리하는 도구
팀원들과 커뮤니케이션하며 문제 해결 과정을 추적
각 이슈에는 제목, 상세 설명, 담당자(Assignee), 라벨(Label), 마일스톤(Milestone) 등을 붙여 관리 가능
오픈소스 프로젝트에서는 외부 기여자와 소통하는 창구 역할
프로젝트 최상단에 위치하는 설명 문서 (보통 README.md 형태, 마크다운 파일)
프로젝트 목적, 설치 방법, 사용법, 기여 방법, 라이선스 등을 담음
GitHub에서는 저장소 메인 페이지에 자동으로 보여져서 첫인상을 좌우함
README 내용
README 작성예시 (Markdown으로 작성)
# 프로젝트 이름
간단한 프로젝트 소개 문장.
## 설치 방법
```bash
git clone https://github.com/username/repo.git
cd repo
npm install
문서 작성에 특화된 간단한 마크업 언어로,
특히 개발자들이 README, 블로그, 노트, 문서 작성 등에 자주 사용
일반 텍스트 기반의 문서 형식
특수 문법을 써서 제목, 리스트, 링크, 코드 블록, 이미지 등을 쉽게 작성 가능
GitHub, GitLab, Notion, VS Code 등 많은 툴에서 지원함
확장자가 .md 또는 .markdown 인 파일에 사용
velog도 마크다운형식
마크다운 태그 종류
굵은 글씨 **굵게** 굵게
기울임 글씨 *기울임* 기울임
코드 블록 <pre>js<br>console.log(1);<br></pre> 코드 블록 (자바스크립트 하이라이트)
링크 [Google](https://google.com) Google (링크 생성)
이미지  이미지 삽입
인용구 > 인용문 > 인용문
https://www.markdownguide.org/
git clone[원격 저장소 주소]
git status : 저장소의 상태를 보여준다.
git add [파일경로]
git add -i
추가되지 않은 파일 모두 한꺼번에 staging area 추가
git rm --cached [파일경로]
staging area에 add된 파일을 다시 working directory로 내린다.
git rm -r --cached
staging area의 모든 파일을 working directory로 내린다.
git commit -m"커밋메시지"
git push
git log --decorate --graph
Markdown 태그의 종류 추가
제목 : #, =====
인용 : >
강조 : *, _
링크 : [텍스트](주소"설명생략가능")
이미지 : 
리스트: 1, *, -, +
코드표시 <code>코드</code>, 한줄 띄우고 스페이스 4칸, ```코드```
줄바꿈: 엔터 2번, 강제 줄바꿈은 분장끝에 스페이스바 2칸
가로선 : -----, *****, +++++
Markdown 에디터
Typora : 유료 마크다운리더 에디터
https://typora.io/
대략적인 git사용법에 대해 마지막으로 정리해 보았다.
git 사용은 앞으로 내가 프로젝트를 진행하며 더 많이 보고 쓰면 자동으로 습득하게 되지않을까?
기본적이고 기초적인 내용은 한번 훑고 넘어가자!
"이 글은 제로베이스 프론트엔드 스쿨 주 3일반 강의 자료 일부를 발췌하여 작성되었습니다.”