본문 바로가기
git

Git 명령어 정리

by Jouureee 2020. 11. 22.

centralized version control system

중앙 서버가 모든 version 1, 2, 3 .. 파일을 가지고 있고 각 컴퓨터가 중앙 위치에서 파일을 체크한다.

- CVS, Subversion 등 ..

- 네트워크가 좋지 않으면 딜레이가 발생해 연결이 느려지고 튕기기도 함 

 

distributed version control system

- 서버에서 버전을 통채로 가져온다. (텍스트 파일이라 그렇게 무겁지 않다.) commit, add 등 버전 만들고 난 뒤,

- 한번에 push 하여 중앙 서버에 보낸다. 

- git 이 대표적

 

생성1

git init : .git 레퍼지토리 생성

 

생성2

git clone 복사주소 : 존재하는 레퍼지토리 복사

git status : 파일의 상태를 확인

git status -s : 파일의 상태 요약해서 보고 싶을때

  ??   : 아직 staging area에 올라오지 않은 파일

  A    : staging area에 올라온 파일

  M   : 수정되고 staging area에 올라온 파일

    M : 수정되었지만 staging area에 올라오지 않은 파일 

 MM : 수정 후 staging 된 후 또 수정된 파일

 

git add 올릴파일 : staging area에 파일을 올리기

git diff : staging area에 있는 파일(a)과 작업 디렉토리에 있는 파일(b)와의 차이 

git commit : staging area에 있는 파일만 보냄(커밋)

git commit -m " 메세지" : 커밋한 코드에 메세지 같이 보냄 

git commit -a : 추적된 모든 파일을 staging area로 보내고 커밋 진행 

git commit -amend : 전 커밋에 staging area 올려둘 파일에서 하나 빠트려 커밋 진행했을 때 그 후 add 파일 후 다시 이 명령어로 커밋 진행하여 하나의 커밋으로 여기고자 할 때 

git rm : os 상 지운 파일을 git에게도 지워진 파일임을 알려주기

git mv : os 상 옮겨진 파일을 git에게도 옮겨진 파일임을 알려주기

git log : 커밋 진행한 히스토리 최신 ~ 예전 순으로 보여주기

git restore : 전 단계로 되돌아가고자 할때

git remote -v : 원격 저장소를 보여줌

  origin : 복사해온 서버로부터 받아와서 생성된 디폴트 네임

git remote add : 새 원격 리포지토리를 생성 

git fetch : 로컬 리포지토리에 없는 것을 원격 리포지토리로부터 데이터 받아옴(fetch)

git pull : fetch 후 현재 브랜치로 데이터를 자동 merge

git push : 로컬 데이터를 원격 리포지토리로 옮김

git remote rename or remove : 원격 리포지토리 이름을 rename or remove 

git tag -a : 부가 정보를 포함하는 태그 생성

git tag : 간략한 태그 정보만 보여주는 태그 생성

 

git branch : 브랜치 생성 

git branch -r : 원격 브랜치 목록 보기

git branch -a : 로컬 브랜치 목록 보기

git checkout : 브랜치 선택 

git checkout -b : 브랜치 만들고 선택

git merge : 파일을 현재 checkout에 있는 파일에 합침

git branch -d : 브랜치 삭제

git branch -m {branch_name} {change_branch_name} : 브랜치 이름을 변경

git clone -b {branch_name} --single-branch {저장소 URL} : 특정 브랜치만을 clone

 

 


  

 

  

 

 

 

 

 

댓글