- Git은 파일의 버전을 관리하는 툴
- VSCode에서 기본 터미널을
Git Bash로 설정함. - 터미널 실행 단축키 :
Ctrl + ~ - 셋팅 아이콘 선택 > Settings 메뉴 선택

- 검색에
terminal default입력 >Git Bash목록 선택
- Git 버전 확인
git --version- 기본 브랜치명을
main으로 설정하기(초기 설치 시 master로 되어있음)
git config --global init.defaaultBranch main- Enter키를 통일시킴(맥, 윈도우, 리눅스가 Enter키, 줄 변경이 달리 처림됨)
git config --global core.autocrlf true- 깃 수정내역, 즉 commit 시 메세지 상세 남기기(VSCode로 작성하도록 셋팅)
git config --global core.editor "code --wait"- 사용자 설정 (아이디, 이메일 : 구글 계정과 깃허브 아이디 추천)
git config --global user.name "아이디"
git config --global user.email "구글 계정@gmail.com"git config --global user.name
git config --global user.email- 회원가입(https://gitbub.com) : 구글계정
- 예제) til_git 저장소 생성 (생략)
-
초기 설정 시 다음 내용을 필수로 확인한다.
-
깃허브 자격증명 등록은 git push 진행되면 자동으로 로그인 팝업이 출력됨.
git initgit statusgit add README.mdgit add .- 간단하게 한줄로 메모 남기기
git commit -m "메세지"
git commit -m "깃허브 사용법 정리 중"- 여러줄 작업내역 작성하기
git commit[커밋타입] 커밋 메세지(옵션)
커밋 상세내역
- 커밋 타입 : 업무의 분류
[feat] 새로운 기능추가함
[fix] 버그 수정
[docs] 문서 수정(README.md 등)
[style] 코드의 스타일(띄어쓰기, 세미콜론 등)
[refector] 코드 리팩토링(기능변경, 코드 정리 등)
[test] 테스트 코드 추가한 경우
[core] 기타(빌드 설정, 패키지 설정 등의 개발환경 변경 시)
- 옵션 : 23번 이슈를 해결했고 회원가입 로그인 기능을 추가했다
[feat] 회원가입 로그인 기능 추가(#23)
- 상세보기
git log- 간략하게 보기
git log --oneline- 하나의 commit을 상세하게 보기(종료 시
q키보드 누르기)
git show 커밋아이디- 바로 전 commit 내용 수정하기
git commit --amend- 등록하기
git remote add 별명 주소
git remote add origin https://github.com/devclarova/til_git.git- 목록보기
git remote -v- 삭제하기
git remote remove 별명
git remote remove aaa
git remote -vgit push -u 별명 현재브랜치
git push -u origin main
git push // 위의 명령과 같음git add .
git commit
git push- 개발에서 구현해야하는 각각의 기능이 있습니다.
- 하나의 기능을 구현완료하였다면 소스를 버전으로 보관하는 것
- 다음 기능을 구현한다면 새로운 소스 버전을 만들어서 진행하는 것
git config --global init.defaultBranch maingit branch 브랜치명
git branch tripgit branchgit switch 브랜치명
git switch tripgit branch -d 브랜치명
git branch // 목록 필수 확인
git switch main // 다른 브랜치로 이동
git branch -d trip // 삭제 실습git merge 대상브랜치이름
git merge tripgit push 리모트별칭 --delete 브랜치명
git push origin -d daejun
git push origin --delete jeju- 커밋을 실행 후 바로 내용을 수정하는 경우
git commit --amend 엔터
내용수정 진행 및 저장
git log --oneline 엔터- 협업에서 문제 발생 소지
- 커밋 히스토리를 통해서
해시값알아보기
git log --oneline 엔터
$ git log --oneline
d1c3309 (HEAD -> main, origin/main) [docs] 브랜치의 이해
b69b523 [docs] 깃허브 기본 사용 및 연결법
189efb5 [docs] 깃허브 명령어를 공부하고 있음.
bd3256d [커밋타입] 커밋 타이틀
fea3e3b 깃허브 사용법 정리중-해시값 파악 후 실행 (^기호는 시작이라는 뜻)
git rebase -i 해시값^ 엔터
// 아래도 시도 해보기
git rebase -i --root예제)
git rebase -i bd3256d^예제)
pick bd3256d [커밋타입] 커밋 타이틀
pick 189efb5 [docs] 깃허브 명령어를 공부하고 있음.
pick b69b523 [docs] 깃허브 기본 사용 및 연결법
pick d1c3309 [docs] 브랜치의 이해
pick 8459f84 진행중- 위처럼 나온 곳에서
pick b69b523을eidt b69b523으로 수정 pick을edit으로 수정 후 저장
예제)
pick bd3256d [커밋타입] 커밋 타이틀
pick 189efb5 [docs] 깃허브 명령어를 공부하고 있음.
pick b69b523 [docs] 깃허브 기본 사용 및 연결법
edit d1c3309 [docs] 브랜치의 이해
pick 8459f84 진행중- 실제 내용 수정
git commit --amend 엔터
수정 및 저장- 마무리해서 main으로 이동하기
git rebase --continuegit push origin 브랜치명 --forcegit push origin 브랜치명 --force.을 띄어쓰기 해주면 폴더 생성없이 Clone 됩니다.
git clone 깃허브주소 . 엔터- 이미 특정 저장소를 클론을 한 상태에서 브랜치를 가져오고 싶다면
git fetch 리모트별칭 브랜치명
git checkout 브랜치명
git fetch origin jeju 엔터
git checkout jeju 엔터- Clone과 함께 동시에 브랜치 지정하여 Clone 하기
git clone -b 브랜치명 --single-branch https주소 .
git clone -b jeju --single-branch https~ .- 팀장(깃허브 관리자)과 팀원(fork 진행)으로 구성 권장
- 팀장: GitHub 저장소 프로젝트 생성 진행
- 팀장: PC에 프로젝트 폴더 만듦
- 팀장: 프로젝터 폴더에 README.md 파일 만듦
- 팀장: 프로젝트 기본 구조를 생성 및 셋팅
- 팀장:
git init초기화 - 팀장:
git add remote origin 주소 - 팀장:
git add . - 팀장:
git commit내용은 자유롭게 - 팀장:
git push origin main - 팀장: 깃허브 주소를 공유하며
fork 받으세요(메신저는 Slack 추천)
- 팀원: 깃허브 주소로 접근 후
fork버튼을 눌러서 깃허브 복사 - 팀원: 본인의 깃허브로 이동
- 팀원: 본인의
깃허브 주소를 미리 파악 - 팀원: PC에 폴더 생성 후 VSCode 등록
- 팀원:
git clone 주소 .(띄어쓰기 조심)
- 공통:
git branch 이름 - 공통:
git switch 이름 - 공통: 각자 역할에 맞게 작업 진행
- 공통:
git add . - 공통:
git commit메세지 컨벤션 지키기 - 공통:
git push origin 이름
- 팀원:
Pull Request작성 - 팀원: 팀장에게 PR 보냈음을 알리기 (Slack 추천)
- 팀원: 대기
- 팀장: 본인이 본인에게
Pull Request작성
- 팀장: PR 확인 및 소스 확인 및 Conflict가 발생하면 팀원 호출
- 팀장: 꼭 칭찬하기
- 위 과정을 반복해서 소스를 전체 main에 merge함
- 팀장:
main sync요청(메세지 등) - 팀원: 반드시 main에서 sync > update 진행
- 팀원:
git switch main - 팀원:
git fetch - 팀원:
git pull - 팀원:
git branch -d 이름 - 팀원:
git push origin --delete 이름 - 팀원:
git branch 이름 - 팀원:
git switch 이름
-
팀장:
git switch main -
팀장:
git fetch -
팀장:
git pull -
팀장: 가끔
소스 오류또는최신 내용이 안나오는 경우존재 -
팀장:
git merge origin/main -
팀장:
git branch -d 이름 -
팀장:
git push origin --delete 이름 -
팀장:
git branch 이름 -
팀장:
git switch 이름




