Search
Duplicate

1. 깃허브 핵심 요약(찐)

목차(클릭하세요)

0. 핵심 요약

① git 설치
② GitHub 접속 repository(저장소) 만들기
③ 로컬의 프로젝트파일과 깃허브 연결하기
참고로 GUI로 사용하는 방식과 CLI로 사용하는 방식이 있음
[GUI]방식으로 사용하기
1.
해당 레파지토리 사이트에서 키보드 .을 누르게 되면 .dev주소가 열림
github.dev란?
GitHub 저장소의 코드를 웹 브라우저에서 직접 수정 가능(VS Code 웹 버전이라 생각하면 편함)
코드 실행/호스팅 불가
HTML 미리보기 불가
저장소에 commit/push 가능
예를 들어 레파지토리 주소가
https://github.com/roughkyo/test_AI 라면
https://github.dev/roughkyo/test_AI 가 되는 방식임
2.
여기서 수정 후 commit + push 할수도 있음

1. Git설치

1.
git과 git hub의 개념, 차이
버전 관리를 가능하게 해주는 것이 ’git’이라는 프로그램
. git은 로컬(사용자 PC)에 있는 파일들에 변동사항이 생길 때마다 github라는 임의의 저장소에 업로드 시켜줌
git은 형상 관리(Configuration Management) 툴이라고 함
github는 git(=버젼관리 도구)으로 관리된 정보를 백업하는 저장소(일종의 웹하드)
a.
Git 설치방법 참고
b.
설치후 사용자 이름/이메일 등록(최초 1회)
git config --global user.name "사용자이름"
git config --global user.email "이메일@abc.com"
2-1. git bash화면 복&붙 “단축키”
복사하기: Ctrl + Insert
붙여넣기: Shift + Insert
c.
등록된 사용자 확인
git config --list
git config --get user.name : 유저 이름만 확인
git config --get user.email : 유저 이메일만 확인
공식 문서: https://git-scm.com/docs

2. 저장소 만들기

1.
레포지토리?
깃허브라는 저장공간 내 카테고리를 구분하는 하위 공간
보통 프로젝트 단위로 많이 생성
2.
레포짓 생성 후 해당 레포짓의 주소를 복사
레포짓 생성하기
생성된 레포짓 확인
레포짓 주소 복사: 하늘색 박스 안에 있는 주소(*저장소 주소)를 복사(나중에 필요)

3. 로컬의 프로젝트파일과 깃허브 연결하기

[vscode기준 설명]
1.
vscode 실행 후 terminal 탭 → new terminal을 클릭
2.
기초 git코드를 순서대로 실행(예시코드)
git init git add README.md git commit -m "first commit" git branch -M main git remote add origin https://github.com/roughkyo/test_AI.git git push -u origin main
Bash
복사
[깃 명령어 핵심설명]
2-1.git init: 맨 처음 프로젝트를 올릴때(버전관리 시작)
git init을 명령받은 순간부터 git은 변경사항을 추적할 준비 완료
.git은 버전관리를 하는 로컬 저장소라고 생각
현재 디렉토리를 Git 로컬 저장소로 초기화함(숨겨진 .git폴더 생성)
2-2. git add README.md
git add: 어떤 파일을 깃에 올릴지 함보자
[Tip] git . 을 주로사용
만약 git . 라고 하면 모든 파일을 올리게 됨(띄어쓰기 주의)
이제 대기상태(=stage에 올라간 상태)가 된 것임
스테이징 영역에 올린 것
2-3. git status: 현재 git 상태 확인하기
2-4. git commit -m “first commit” : 나만의 버전(=히스토리)를 만드는 과정
"first commit"이라는 메시지로 커밋(버전을 저장)
커밋 메시지 정의: 특정 작업 내역을 기록하는 설명 문구(메모)
버전명(=히스토리명)은 한글도 사용가능
2-5. git remote add origin https://github.com/roughkyo/test_AI.git
원격 저장소(origin)를 GitHub의 URL과 연결
원격 저장소에 push할 수 있게 설정
로컬저장소와 원격저장소의 연결고리 만들기
여기서 origin은 git이 원격 저장소를 부르는 별칭 정도
이후 연결고리를 확인할수도 있고, 생략할 수도 있고
2-6. git remote -v : 연결고리 확인
2-7. git branch -M main: 동기화
브렌치란?
Git에서 작업 흐름을 분리하고 관리하기 위한 기능(Git 저장소 내에서 하나의 독립적인 개발 흐름을 관리하는 이름표)
대부분의 경우 main 또는 master가 기본 브랜치임
2020년 이후로 새 저장소를 만들면 기본 브랜치 이름은 main
브렌치의 주목적
기존 코드와 분리하여 안전하게 작업, 협업에서 각각 다른 브랜치에서 작업 후 병합(Merge)
[main] -----------A---B---C----------------------→ \ [feature/login] D---E
Bash
복사
[예시]
main정식 배포용
feature/login새 로그인 기능 개발용
실험이 끝나면 mainmerge해서 반영함
현재 브랜치 이름을 main으로 강제 변경
기본 브랜치를 main으로 통일하는 관례를 따름
만약 로컬 git의 기본 브랜치 이름도 main으로 만들놓으면 생략 가능
로컬 git 브랜치 이름 변경
2-7-1. git config –global init.defaultBranch main
2-7-2. git config –get init.defaultBranch 으로 변경되었는지 확인
2-8. git push -u origin main: 마스터로 보내기
main 브랜치를 원격 저장소(origin)에 업로드(push)
-u는 이후 push/pull 시 브랜치 연결 자동화 설정
2-9. git pull: 원격 저장소의 내용을 로컬 컴퓨터로 다운로드 하기

[Tip] vsc에서 사용하기

[VSC에서 git bash 사용하는 방법]
1.
터미널에서 +버튼 옆 화살표 클릭하여 git bash 열기

[Tip] 클라우드 저장소의 프로젝파일 연결

[주의] 클라우드 드라이브의 경우 git init명령어를 안먹을 수 있음
1.
이럴 경우, 해당 폴더로 가서 git Bash here 실행후, git init 실행
2.
vscode의 소스제어로 가서 ’안전하지 않은 저장소 관리’를 클릭

4.pull과 commit, push의 의미

1.
pull
원격저장소의 업데이트 된 코드를 로컬 컴퓨터로 가져오기
원격 저장소에 업데이트 된 데이터를 가져오고 병합할 때 사용
2.
add
로컬 컴퓨터의 소스코드를 원격저장소로 보내도록 히스토리에 담기
3.
commit
로컬 컴퓨터의 히스토리를 원격저장소로 보낼 준비
4.
push
로컬 컴퓨터의 히스토리를 원격저장소로 보내기

5.로컬 저장소와 원격저장소의 상태

5-1.상태 확인 명령어

1.
status : 파일의 상태 확인
a.
Untracked(관리 대상이 아님) : 파일 생성 후 한번도git add하지 않은 상태
b.
Tracked(관리 대상임) : git이 관리하는 파일임을 의미
Unmodified : 최근의 커밋과 비교했을 때 바뀐 내용이 없는 상태
Modified : 최근 커밋과 비교했을 때 바뀐 내용이 있는 상태
Staged : 파일이 수정되고 나서 스테이지 공간에 올라와 있는 상태이며, git add 후의 상태
2.
diff : 변경사항 확인
3.
log: 커밋(commit) 히스토리 조회
git log –oneline –all –grahp : 그래프 형태로 히스토리 조회 가능

6.브렌치(branch)

1.
브렌치란?
무엇이 더 효과적일까?
A 작업이 다 끝난 뒤에 B 작업을 수행하는 경우 vs A작업도 하면서 B작업도 동시에 진행하는 경우
연관성이 없는 기능 단위의 작업을 ‘순차적’으로 진행한다면 비효율적
이런 경우는 A작업, B작업을 각각 별도 작업하여 합치는 방안이 필요
Git에서는 브렌치와 머지(merge)라는 명령으로 이것을 가능하게 함
[브렌치]는 독립적인 작업을 할 수 있는 공간
2.
기본 브렌치
로컬 git에서의 기본 브랜치를 main으로 설정하기 위한 방법
git config --global init.defaultBranch main
Bash
복사
GitHub은 main
git버전이 Git 2.35 이하라면? 저장소를 초기화할 때 로컬의 기본 브랜치가 master로 셋팅됨
따라서, git의 기본 브랜치를 main으로 변경하는 것이 편함!!
3.
이후 과정은 여기를 참고
https://paullabworkspace.notion.site/4-Branch-7552c2a8c2b340ce9622a8a6364dc47a
4.
브랜치 관련 에러 해결 방법 git push를 할 때, 아래와 같은 에러가 나는 경우
4-1. 기본 브랜치를 설정
git branch --set-upstream-to=origin/main main
Bash
복사
4-2. 로컬과 원격저장소의 브랜치명 통일
git config –global init.defaultBranch main
Bash
복사

7.포크(fork), clone

1.
원격저장소의 깃을 가져오기 위한 개념이 fork와 git clone
2.
git clone
원격 저장소의 코드를 컴퓨터에 받아올 수 있음
새로운 작업 폴더를 생성한 다음, 해당 폴더로 이동해서
git clone https://github.com/id/복사하고 싶은 깃 주소.git .
클론 시 점(.)을 찍는 이유는 현재 폴더에 클론 받기 위함
만약, 점(.)을 찍지 않을 경우 새 폴더를 생성
3.
fork
원본 저장소를 복사해 내 저장소에서 commit > push 할 수 있음
2-1. 깃허브에서 fork 클릭
2-2. 내 깃허브 레포지토리가 생성됨
2-3. 내 깃허브 레포지토리안의 깃 주소를 복사
2-4. 복사하고 싶은 폴더로 이동한 다음, 해당폴더에서 git bash 실행
git clone https://github.com/id/복사하고 싶은 깃 주소.git . 에) git clone https://github.com/roughkyo/stopwar.git .

7-1.Pull Request

이 과정은 해당페이지에서 내용참고
https://paullabworkspace.notion.site/6-Pull-Request-fd958fd434fb41ea85d0a370654441ac

8.저장소에 무시할 파일 생성하기

1.
API키, 비밀번호 등은 절대 저장소에 올라가면 안됨
해당폴더에서 .gitignore 파일을 만듦
2.
.gitignore 자동 생성기 활용하기
https://www.toptal.com/developers/gitignore 로 접속

[참고 주소]

1.
Notion 링크 :
https://paullabworkspace.notion.site/GitHub-435ec8074bcf4353afb947f601a030df
단축 링크 : https://bit.ly/3vErAt7
2.
기초 설명:
https://spartacodingclub.kr/blog/how-to-start-github