상세 컨텐츠

본문 제목

[Git 완벽정복] Git 초보, 실무, 명령어 설명 및 기능

Etc

by donggyu1998 2021. 6. 11. 11:48

본문

반응형

💡 Github란 무엇인가 ?

GitHub는 소프트웨어 개발 프로젝트를 위한 소스 코드 관리 서비스입니다.

Git에서 할 수 있는 기능은 다음과 같습니다.

  1. 버전관리(Version Control)
  2. 백업(Backup)
  3. 협업(Collaboration)

💡사용자 정보 설정

  • 리눅스

git config —global user.name "자신의 닉네임"

git config —global user.email "자신의 이메일"

  • 윈도우

git config user.name "자신의 닉네임"

git config user.email "자신의 이메일"

 

💡git 필수 용어

  • 브랜치(branch): 커밋에서 분기하면 브랜치가 됩니다.
  • master: 기본 설정된 브랜치에 붙는 이름입니다.
  • origin: 기본 설정된 원격 주소에 붙는 별명입니다.

💡 remote 설명

현재 사용중인 Git 프로젝트에 연결된 원격 저장소를 확인할 수 있습니다.


💡 add 설명

작업 디렉토리(working directory) 상의 변경 내용을 스테이징 영역(staging area)에 추가


💡 push 설명

원격 저장소(remote repository)에 코드 변경분을 업로드하기 위해서 사용하는 명령어


💡 pull 설명

원격 저장소의 정보를 가져오면서 자동으로 로컬 브랜치에 병합(Merge) 수행


💡 tag 설명

커밋을 참조하기 쉽도록 알기 쉬운 이름을 붙이는 것을 말합니다.

git 에서는 일반적으로 이름 정보만을 갖는 '일반 태그(Lightweight tag)'와 보다 상세한 정보를 포함

'주석 태그(Annotated tag)' 이 두 가지 태그를 사용할 수 있습니다.

  • 일반 태그: 이름만 붙일 수 있다.
  • 주석 태그

(1) 이름을 붙일 수 있다.

(2) 태그에 대한 설명이 가능하다.

(3) 서명을 넣을 수 있다.

(4) 이 태그를 만든 사람의 이름, 이메일과 태그를 만든 날짜 정보도 포함 시킬 수 있다.


💡 merge 설명

버전관리 시스템으로 두고 같이 협업하는 과정에서 branch를 만들어서 각자 개발을 했다면, 그런 상황에서 branch를 합치는 것


💡 rebase 설명

merge를 사용하면 볼 때 뿌리가 여러개로 나눠져 있어서 히스토리 찾아가기가 매우 어렵다.

그런 경우 rebase를 다시 정의함으로써 새롭게 커밋 라인을 정리하여 히스토리를 깔끔하게 볼 수 있게 해준다.

  • Merge와 rebase의 실행결과는 같지만 커밋 히스토리가 달라진다.
  • Merge는 쉽고 안전하지만 커밋 히스토리가 지저분할 수 있다 반면 rebase는 잘 모르고 사용할 경우 위험할 수 있어 까다롭지만 커밋 히스토리를 깔끔하게 관리할 수 있다.

💡 gitignore 설명

.gitignore 파일이란 Git 버전 관리에서 제외할 파일 목록을 지정하는 파일 이다. .gitignore파일에 작성된 파일은 커밋되지 않습니다.

github 프로젝트 repository 최상단에 존재해야 합니다.


💡 branch 설명

기존 repository(저장소)를 생성하면 master라는 branch가 생성된다.

새로운 branch를 생성하면 기존 master branch 와 별개로 영향 없이 여러 작업을 진행할 수 있고,

추후 작업에 대해 master branch와 안전한 merge가 가능하다.

이름설명

Master Branch 제품으로 출시될 수 있는 브랜치
Develop Branch 다음 출시 버전을 개발하는 브랜치
Feature Branch 기능을 개발하는 브랜치
Release Branch 이번 출시 버전을 준비하는 브랜치
Hotfix Branch 출시 버전에서 발생한 버그를 수정 하는 브랜치
git branch "이름" branch 생성
git branch branch 목록 확인

💡 자주 쓰는 git 기능과 설명

git config -help git command 목록
git config --global --list git 전역 설정정보 조회
git config --list git 설정 정보 조회
git init git Initialized (.git으로 숨김 파일 생성됨) 원하는 폴더에서 초기화 명령 이후 사용 가능
git add [file name] local에서 staging area로 add만 한 상태로 없는 파일을 add할 경우
git add -u 수정/삭제된 파일만 Staging에 올리는 경우, Untracted File 제외 * modified표기된 것 add가능
git add . local에서 해당 폴더 안 모든 파일을 한번에 올리는 경우
git rm -cached [file name] remove하는 경우, add되지 않는 파일을 rm할 경우 * reset과 달리 deleted되었다고 표기되며 더이상 modified표기되지 않음
git commit commit 생성 긴 commit message를 남겨야 할 경우 자세히 남길 수 있음 vi : 파일 내용 확인 wr : 저장 q : 나가기 wq : 저장 후 나가기
git commit -m "[message]" commit 생성, message에는 사유등의 형식을 적어줌 (log관리)
git log git log 확인
git clone [url] 다른 프로젝트에 참여하거나 git 저장소를 복사하고 싶을 때 사용
git remote add [name] [url] 원격 저장소 추가, 레파지토리 셋팅
git remote 원격 저장소 목록 확인
git push 원격 저장소(remote repository)에 코드 변경분을 업로드하기 위해서 사용
git pull 원격 저장소의 정보를 가져오면서 자동으로 로컬 브랜치에 병합(Merge)까지 수행
반응형

관련글 더보기