새소식

Git

[Git] 명령어 정리

  • -
728x90

Git을 이제 막 시작하게 돼서, vscode와 함께 주로 사용하는 기본적인 명령어에 대해 정리해보려고 합니다.

 

# Git이란

1.1 형상 관리 도구(Configuration Management Tool) 중 하나.

 - 참고로 형상 관리 도구는 버전 관리 시스템이라고도 한다.

 - Git은 소프트웨어를 개발하는 기업의 핵심 자산인 소스코드를 효과적으로 관리할 수 있게 해주는 무료공개소프트웨어.

 - SVN보다 여러 장점이 있어 SVN을 쓰던 개발 조직들은 하나둘씩 Git으로 갈아타고 있다.

 

1.2 SVN과 Git의 차이점

 - Git이 SVN과 다른 점은 분산형 관리 시스템이라는 것이다.

 - SVN : 중앙 서버에 소스코드와 히스토리를 저장하는 과 달리

   Git :  소스코드를 여러 개발 PC와 저장소에 분산해서 저장

   그렇기 때문에 중앙 서버에 장애가 발생해도 로컬 저장소에 커밋을 할 수 있으며, 로컬 저장소들을 이용하여 중앙 저장소의 복원도 가능하다.

 - 사본을 로컬에서 관리하기 때문에 GIT이 SVN에 비해 훨씬 빠르다.(SVN은 변경 로그 하나 보는 것도 인터넷을 경유해야 한다.)


출처: https://goddaehee.tistory.com/91 [갓대희의 작은공간]

# Git 기본 명령어 

[ 최초 설정 ]
git config --global user.name 계정명
// git 계정명 등록

git config --global user.email 이메일
// git 이메일 등록

get config --list
// git 설정정보 조회

git config --global core.editor 에디터
// git editor 변경
// vi로 변경 > git config --global core.editor vi
// vscode로 변경 > git config --global core.editor "code --wait"
// p.s.) vscode를 설치했을 경우 code . 명령어로 vscode 실행 가능

[ 기본 ]
git init
// 현재 디렉토리를 git local repository[Working Directory]로 지정(생성)
// ls- al 명령어로 .git 숨김파일 생성 확인
// rm -rf .git 명령어로 local repository 삭제

git status
// 파일 상태 확인 (staged, untracked, ..)

git add 파일명
// 해당 파일을 [Stagin Area]로 이동 -> tracking

git add . 
// 현재 폴더의 전체 파일을 이동
// 디렉토리 내의 모든 파일 임시저장

git commit
// [Staging Area]에 있는 파일을 원격저장소[Repository]로 커밋
// 옵션없이 해당 명령어만 입력할 경우 editor 호출

git commit -m "커밋 내용"
// "커밋 내용"으로 커밋
// editor 호출 없이 바로 커밋

git commit -am "커밋 내용"
// [Staging Area]에 올림과 동시에 커밋 (git add. + git commit -m "")
// 단, 1번이라도 커밋된 대상만 사용 가능

git diff
// local repository [Working Directory]와 [Staging Area]의 차이를 보여줌

git log
// commit 로그 확인

[ 브랜치 ]
git branch
// 브랜치 목록 조회 (현재 속한 브랜치 앞에는 *이 붙음)

git branch 브랜치명
// 브랜치명으로 브랜치 생성
// 단, main 브랜치에 1번 이상 commit 해야함

git branch checkout 브랜치명
// 해당 브랜치로 local repository[Working Directory] 변경

git branch -b 브랜치명
// 브랜치 생성 후 checkout (git branch 브랜치명 + git branch checkout 브랜치명)

git branch -d 브랜치명
// 브랜치명의 브랜치 삭제

git branch merge 브랜치명
// 현재 checkout된 브랜치로 브랜치명의 브랜치 합침

[ 깃허브 ]
git remote
// git 원격저장소[Repository] 목록 확인

git remote -v
// git 원격저장소 이름과 url 목록 확인

git remote add 저장소이름 저장소 url
// 저장소 url의 원격저장소를 저장소이름으로 추가

git remote rm 저장소
// 저장소이름의 원격저장소 제거

git pull
// 원격저장소의 내용을 가져와서 local repository[Working Directory]에 합침(merge)

git push
// 원격저장소에 local repository[Working Directory]의 commit 내용을 올림

git push -u 원격저장소명 로컬브랜치명
// 로컬브랜치명의 commit 내용을 원격저장소에 올림
// -u 옵션을 사용할 경우 해당 원격저장소와 브랜치가default로 지정되어 git push 명령어만 입력 가능

git fetch 
// 원격저장소[Repository]의 내용을 local repository[Working Directory]로 가져옴
// git checkout 원격저장소명/로컬브랜치명 OR git checkout FETCH_HEAD=로 가져온 fetch 내용 확인

[저장할 경로] > git clone 'url' <- 저장소 url
// 저장소url의 원격저장소를 복사하여 추가
// 저장할 경로로 clone

git remote add orgin 'url'
// 로컬과 온라인 저장소 연결
// remote는 원격과 로컬을 연결시키는 명령어

 

부족한 부분이 있다면 댓글로 남겨주세요 : )

728x90

'Git' 카테고리의 다른 글

[Git] git remote branch  (0) 2022.01.06
[Git] gitignore  (0) 2021.10.29
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.