Skip to content

devclarova/til_git

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 

Repository files navigation

Git 관련 내용

  • Git은 파일의 버전을 관리하는 툴

Git 설치

Image Image Image

  • 아래는 반드시 VSCode 설치하고 나서 진행하여야 함.(목록 확인 필요) Image
  • 나머지는 기본값으로 설치 완료함.

Git 사용자 설정

  • VSCode에서 기본 터미널을 Git Bash로 설정함.
  • 터미널 실행 단축키 : Ctrl + ~
  • 셋팅 아이콘 선택 > Settings 메뉴 선택 Image
  • 검색에 terminal default 입력 > Git Bash 목록 선택 Image

Git 정보 확인 및 셋팅 (터미널에서 진행)

  • 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

GitHub

  • 회원가입(https://gitbub.com) : 구글계정
  • 예제) til_git 저장소 생성 (생략)

GitHub 사용자 계정 보안 설정

  • 초기 설정 시 다음 내용을 필수로 확인한다.

    • 자격 증명 관리자 > windows 자격 증명 관리 탭 > Git 관련 제거 Image
  • 깃허브 자격증명 등록은 git push 진행되면 자동으로 로그인 팝업이 출력됨.

Git 작업 및 GitHub 연결 작업 진행

1. 최초 프로젝트 관리를 Git으로 설정

git init

2. 현재 프로젝트 상태보기

git status

3. git으로 파일 추적하기

git add README.md

4. git으로 모든 파일 추적하기

git add .

5. 작업히스토리 남기기

  • 간단하게 한줄로 메모 남기기
git commit -m "메세지"
git commit -m "깃허브 사용법 정리 중"
  • 여러줄 작업내역 작성하기
git commit

6. commit 내역 컨벤션 알아보기

[커밋타입] 커밋 메세지(옵션)

커밋 상세내역

  • 커밋 타입 : 업무의 분류
[feat] 새로운 기능추가함
[fix] 버그 수정
[docs] 문서 수정(README.md 등)
[style] 코드의 스타일(띄어쓰기, 세미콜론 등)
[refector] 코드 리팩토링(기능변경, 코드 정리 등)
[test] 테스트 코드 추가한 경우
[core] 기타(빌드 설정, 패키지 설정 등의 개발환경 변경 시)
  • 옵션 : 23번 이슈를 해결했고 회원가입 로그인 기능을 추가했다
[feat] 회원가입 로그인 기능 추가(#23)

7. commit 전체 내역 살펴보기

  • 상세보기
git log
  • 간략하게 보기
git log --oneline
  • 하나의 commit을 상세하게 보기(종료 시 q 키보드 누르기)
git show 커밋아이디

8. commit 내용 수정하기

  • 바로 전 commit 내용 수정하기
git commit --amend

9. 깃허브의 온라인 주소 연결하기

  • 등록하기
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 -v

10. 깃허브로 푸쉬하기

git push -u 별명 현재브랜치
git push -u origin main

git push  // 위의 명령과 같음

11. 최소 알아야 하는 git 명령

git add .
git commit
git push

Git으로 브랜치 관리하기

Branch란?

  • 개발에서 구현해야하는 각각의 기능이 있습니다.
  • 하나의 기능을 구현완료하였다면 소스를 버전으로 보관하는 것
  • 다음 기능을 구현한다면 새로운 소스 버전을 만들어서 진행하는 것

Branch 초기 이름 셋팅

git config --global init.defaultBranch main

Branch 생성하는 법

git branch 브랜치명
git branch trip

Branch 목록 보는 법

git branch

원하는 Branch로 이동하는 법

git switch 브랜치명
git switch trip

원하는 Branch 삭제하는 법

git branch -d 브랜치명

git branch     // 목록 필수 확인
git switch main   // 다른 브랜치로 이동

git branch -d trip   // 삭제 실습

작업이 완료되면 Branch 합치기

git merge 대상브랜치이름
git merge trip

깃허브 브랜치 삭제하기 (상당히 조심해야함)

git push 리모트별칭 --delete 브랜치명

git push origin -d daejun
git push origin --delete jeju

Git 커밋 관리하기

1. 바로 이전 커밋 내용 수정하기

  • 커밋을 실행 후 바로 내용을 수정하는 경우
git commit --amend 엔터

내용수정 진행 및 저장

git log --oneline 엔터

2. 오래 전 커밋 내용 수정하기 (권장 안함)

  • 협업에서 문제 발생 소지
  • 커밋 히스토리를 통해서 해시값 알아보기
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 b69b523eidt b69b523 으로 수정
  • pickedit으로 수정 후 저장

예제)

pick bd3256d [커밋타입] 커밋 타이틀
pick 189efb5 [docs] 깃허브 명령어를 공부하고 있음.
pick b69b523 [docs] 깃허브 기본 사용 및 연결법
edit d1c3309 [docs] 브랜치의 이해
pick 8459f84 진행중
  • 실제 내용 수정
git commit --amend 엔터

수정 및 저장
  • 마무리해서 main으로 이동하기
git rebase --continue

3. 깃허브에 commit 수정 내용 반영하기

3.1. 바로 커밋 수정 후 바로 push하기

git push origin 브랜치명 --force

3.2. 이전 커밋 수정 후 push하기

git push origin 브랜치명 --force

4. Clone 하기

4.1. https로 클론하기

  • .을 띄어쓰기 해주면 폴더 생성없이 Clone 됩니다.
git clone 깃허브주소 .   엔터

4.2. 깃허브 특정 브랜치 클론하기

  • 이미 특정 저장소를 클론을 한 상태에서 브랜치를 가져오고 싶다면
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~ .

5. 깃허브 협업 과정

  • 팀장(깃허브 관리자)과 팀원(fork 진행)으로 구성 권장

5.1. 1번 과정

  • 팀장: GitHub 저장소 프로젝트 생성 진행
  • 팀장: PC에 프로젝트 폴더 만듦
  • 팀장: 프로젝터 폴더에 README.md 파일 만듦
  • 팀장: 프로젝트 기본 구조를 생성 및 셋팅
  • 팀장: git init 초기화
  • 팀장: git add remote origin 주소
  • 팀장: git add .
  • 팀장: git commit 내용은 자유롭게
  • 팀장: git push origin main
  • 팀장: 깃허브 주소를 공유하며 fork 받으세요 (메신저는 Slack 추천)

5.2. 2번 과정

  • 팀원: 깃허브 주소로 접근 후 fork 버튼을 눌러서 깃허브 복사
  • 팀원: 본인의 깃허브로 이동
  • 팀원: 본인의 깃허브 주소를 미리 파악
  • 팀원: PC에 폴더 생성 후 VSCode 등록
  • 팀원: git clone 주소 . (띄어쓰기 조심)

5.3. 3번 과정

  • 공통: git branch 이름
  • 공통: git switch 이름
  • 공통: 각자 역할에 맞게 작업 진행
  • 공통: git add .
  • 공통: git commit 메세지 컨벤션 지키기
  • 공통: git push origin 이름

5.4. 4번 과정

  • 팀원: Pull Request 작성
  • 팀원: 팀장에게 PR 보냈음을 알리기 (Slack 추천)
  • 팀원: 대기

5.5. 5번 과정

  • 팀장: 본인이 본인에게 Pull Request 작성

5.6. 6번 과정

  • 팀장: PR 확인 및 소스 확인 및 Conflict가 발생하면 팀원 호출
  • 팀장: 꼭 칭찬하기
  • 위 과정을 반복해서 소스를 전체 main에 merge함

5.7. 7번 과정: main 소스 Sync 요청

  • 팀장: main sync 요청(메세지 등)
  • 팀원: 반드시 main에서 sync > update 진행

5.8. 8번 과정: 재작업 반복

  • 팀원: git switch main
  • 팀원: git fetch
  • 팀원: git pull
  • 팀원: git branch -d 이름
  • 팀원: git push origin --delete 이름
  • 팀원: git branch 이름
  • 팀원: git switch 이름

5.9. 9번 과정: 재작업 반복

  • 팀장: git switch main

  • 팀장: git fetch

  • 팀장: git pull

  • 팀장: 가끔 소스 오류 또는 최신 내용이 안나오는 경우 존재

  • 팀장: git merge origin/main

  • 팀장: git branch -d 이름

  • 팀장: git push origin --delete 이름

  • 팀장: git branch 이름

  • 팀장: git switch 이름

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •