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

- 검색에 '[Terminal default]
입력 >Git bash` 목록 선택
- Git 버전 확인
git --version- 기본 브렌치명을
main으로 설정하기 (초기 설치시 master 로 되어있음)
git config --global init.defaultBranch 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"- 회원가입(http://github.com) : 구글계정
- 예제) til_git 저장소 생성 (생략)
-
초기 설정시 다음 내용을 필수로 확인한다.
-
GitHub 자격 증명 등록은 git push 진행되면 자동으로 로그인 팝업이 출력됨.
git initgit statusgit add README.mdgit add .- 간단하게 한줄로 메모 남기기
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/yeochea1427/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 --delete jeju
git push origin -d 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을edit 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 orgin 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 synch해주세요. 메세지 보내기 - 팀원 : 반드시 main 에서
synch > 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 이름




