본문 바로가기
카테고리 없음

[ 개요 ] 서론

by Deafhong 2017. 1. 6.
반응형


안녕하세요. 데프홍입니다.



프로그래밍을 하면서 git 을 사용하기 시작했는데, git 에 대해서 간단히 정리를 해볼까 해서 포스팅을 합니다.





버전 관리 시스템이란?


파일의 변화를 시간에 따라 기록하여 과거 특정 시점의 버전을 다시 불러올 수 있는 시스템.


필요한 이유?

  • 개발 하는 동안 코드의 변경사항을 보존하기 위해
  • 협동 작업을 하기 위해


제가 파악하고 있는 git 의 대략적인 흐름.


( git 의 대략적인 흐름에 대한 이미지 첨부하기. )


git 의 개념


  • Fetch : 원격 저장소에서 최신 리스트를 받아서 갱신시켜준다.
  • Pull : 원격 저장소의 새로운 데이터를 받아서 머지시켜줌과 동시에 새로운 버전으로 갱신시켜준다.
  • Push : 원격 저장소로 커밋한 데이터를 올린다.
  • commit : 로컬 작업영역에서 수정한 것을 확정시킨다.
  • checkout : 로컬 작업영역을 변경.
  • branch : 작업영억
  • merge : 데이터를 합체 시켜준다. ( 최신내역은 최신내역으로, 충돌된 부분은 충돌된 부분이라고 표시 )



자주 쓰이는 git 명령어


  • git init : 현재 디렉토리(폴더)에 git 저장소를 생성.
  • git add 파일명 : 파일 추가
  • git commot -m "커밋메세지" : 변경된 파일 및 변경사항을 기록하는 작업 ( => 작업결과 보고서를 작성하는 것이라고 생각하면 됨. )
  • git status : 커밋되지 않는 변경사항을 조회. ( => 작업결과 보고서에 기록안한 변경내용들을 확인 )
  • git diff : 변경 전과 변경 후의 차이점을 보여준다. ( 수정하기 전 <-> 수정하기 후 를 비교확인 )
  • git mv 파일명 새파일명 : ( mv : move 줄임 ) 파일명 변경.
  • git checkout -- 파일명 : 변경내용을 취소하고, 이전 커밋상태로 되돌림.

  • git branch : 현재 존재하는 브런치 조회
  • git branch (newBranchName) (oldBranchName) : oldBranchName 을 newBranchName 이름으로 새로 만든다.
  • git branch (branchName) : branchName 이름으로 새로운 브런치를 만든다.
  • git branch -d (branchName) : branchName 을 삭제.
  • git checkout (branchName or tagName) : branchName 혹은 tagName 로 작업영역을 변경.
  • git checkout -b (branchName1) (branchName2) : branchName2 에서 branch1Name 라는 브런치를 만들고, 체크아웃.
  • git merge (branchName) : (branchName) 를 현재의 브런치로 합친다.

  • git clone (address) : 원격저장소 복제.
  • git fetch : 원격저장소의 변경사항 체크하여 원격브런치를 갱신. ( 최신 리스트로 갱신시키는거나 마찬가지임 )
  • git pull : 원격브런치의 변경사항을 모두 가져와서 로컬브런치에 반영 ( 머지 작업과 동시에 진행 , 충돌된 작업이 있으면 컨플릿 메세지가 뜨며, 컨플릿 난 파일을 수정하여 커밋을 시켜줘야 pull 완료 )
  • git push : 원격브런치에 로컬브런치 수정내용을 반영.


이상으로 제 기준에서 많이 쓰이는 git 명령어를 나열해봤습니다.



자세한 내용은 git-scm 의 "GitHub Cheat Sheet(PDF)" 을 참고하시면 됩니다.



반응형