Project/Setup

[개발 환경 Setup] Git 설치 | Git 사용하기 | Git 명령어

by somida 2022. 8. 21.

 

 

급하게 프로젝트를 진행하게 되다 보니 오늘 하루 만에 개발 PC 세팅을 하려니 설치해야 할게 산더미이다..ㅠㅠ

 

 

 

 

이번에는 분산형 버전 관리 시스템인 Git을 설치하려고 한다. 여러 개발자들과 함께 협업하는 과정에서는 전체 개발 소스를 공동으로 작업하거나 소스의 버전을 관리하는 과정이 필수적으로 필요한데, Git을 통해서 소스의 버전 제어와 소스 공유가 가능합니다.

 

Git 홈페이지에서 설치 파일을 다운로드할 수 있지만, 이번에도 brew를 사용해서 설치를 진행해보려고 한다.

 

Git

 

git-scm.com

 

 

 

 

 

Git vs Github

일단 처음 개발을 배울 때부터 Git을 사용해서 개발을 진행해왔고, Github를 통해 항상 프로젝트를 진행해왔기 때문에 설치를 진행하려고 하는데..

 

먼저 Git과 Github의 차이에 대해서 작성해보려고 한다.Git은 분산형 버전 관리 시스템인 오픈소스이다. 로컬에서 자신이 개발한 소스의 버전(이력)을 관리할 수 있는 프로그램이다. 하지만, 본인의 로컬 저장소를 사용하기 때문에 팀원과 실시간으로 코드를 공유할 수는 없습니다.

 

Github는 Git Repository를 관리하는 클라우드 기반의 웹 호스팅 서비스이다. Git의 기본적인 기능을 확장하여 클라우드 서버를 사용하기 때문에 팀원들과 함께 소스의 버전 관리나 공동 작업이 가능합니다.

 

 

 

 

 

 

Git 설치하기

1. Git 설치

brew install git

 

2. 설치 확인

git --version

 

3. 혹시 Git 버전이 이전 버전이라면 밑의 과정 진행 후 터미널 종료 후 재시작

echo "export PATH=/usr/local/bin:$PATH" >> ~/.bash_profile
  • echo "내용" >> 파일 : 파일에 "내용" 추가

 

 

 

 

Git 기본 설정

config 설정

설정 시 local환경에서 git push를 진행할 때 요구되는 로그인 정보를 설정(이 정보는 github 계정과는 무관하고, git을 통해 commit을 할 때마다 이 정보로 github에 표시된다.)

git config --global user.name "username"
git config --global user.email "email@email.com"

git config --list

# user 수정이 필요하면
git config --unset --global user.name "username"
git config --unset --global user.email "email@email.com"

 

 

 

 

 

 

 

 

 

Git 명령어

명령어 비고
git init 로컬 작업공간으로서의 역할 시작
git status 프로젝트의 상태 확인 (현재 브랜치, 커밋 상태, 작업중 파일 등 파악 가능)
git add <파일> <파일>만 변경사항에 추가
git add . 변경된 전체 파일 변경사항에 추가
git commit  add 명령어를 통해 추가된 변경사항을 이력에 추가
git commit -m "커밋 내용" 이력에 대한 내용 작성
git push commit을 통해 변경된 이력을 원격 저장소에 공유(업로드)
git pull 원격 저장소에서 최신 변경 이력 가져오기
git branch 브랜치 목록 조회
git branch <브랜치>  <브랜치> 생성
git checkout <브랜치> <브랜치> 체크아웃
git checkout -b <브랜치> <브랜치> 생성하고 체크아웃하기
git log 변경 이력 조회
git clone <저장소url> 원격 저장소의 내용을 복제 (이력도 함께 복제됨)
git merge pull하지 않거나 최신 버전이 아닐 경우 push 요청이 거부가 되어 병합을 통해 갱신
git remote add <원격저장소> <저장소url> 새로운 원격 저장소 추가

 

 

 

 

 

 

 

 

 

 

반응형

댓글