2021. 8. 15. 23:20ㆍ코딩일지/Git

1. Vision Control System(VCS)
# Version Control System이란?
- 파일 변화를 시간에 따라 기록하였다가 이후 특정 시점의 버전을 꺼내올 수 있는 시스템입니다.
* 코드 버전 관리를 하는 이유는 무엇일까요?
- 수정할 때마다 파일을 새로 만들면 관리가 힘들어서
- 언제든 이전 버전의 코드로 돌아갈 수 있기 때문에
- 이력을 남기기 위해서
- 하나의 프로젝트를 두고 여러 명의 개발자들이 협업을 할 수 있기 때문이다.

2. Git & GitHub란 무엇인가?
# Git이란?
형상 관리 도구(Configuration Management Tool) 중 하나.
- 참고로 형상 관리 도구는 버전 관리 시스템이라고도 한다.
- Git은 소프트웨어를 개발하는 기업의 핵심 자산인 소스코드를 효과적으로 관리할 수 있게 해주는 무료, 공개소프트웨어.
- SVN보다 여러 장점이 있어 SVN을 쓰던 개발 조직들은 하나둘씩 Git으로 갈아타고 있다.
# Git Hub는?
- 인터넷상의 공간(클라우드 서버)에 git으로 관리한 commit을 올려 공유할 수 있는 공간
1) Git을 사용한 프로젝트들의 저장소
2) 개발자들의 소셜 네트워크
- Git은 프로젝트의 버전 관리를 도와주는 시스템이고 GitHub 은 Git을 이용해 버전 관리를 한 프로젝트들을 관리하게 해주는 호스팅 서비스입니다. 내가 작업한 것만이 아닌 다른 개발자들이 작업한 것 또한 확인할 수 있습니다.
GitHub는 무료이며, Git을 사용해서 Commit을 해서 작업을 하게 되면 Github에 이력이 남게 되어 개발자들의 협업에 편합니다.
3. Git&GitHub 실습
# 기본적인 명령어
- git init : git 생성하기
- git clone git_path : 코드 가져오기
- git checkout branch_name : 브랜치 선택하기
- git checkout -t remote_path/branch_name : 원격 브랜치 선택하기
- git branch branch_name : 브랜치 생성하기
- git branch -r : 원격 브랜치 목록보기
- git branch -a : 로컬 브랜치 목록보기
- git branch -m branch_name change_branch_name : 브랜치 이름 바꾸기
- git branch -d branch_name : 브랜치 삭제하기
- git push remote_name — delete branch_name : 원격 브랜치 삭제하기 ( git push origin — delete gh-pages )
- git add file_path : 수정한 코드 선택하기 ( git add * )
- git commit -m “commit_description” : 선택한 코드 설명 적기 ( git commit -m “내용”)
- git push romote_name branch_name : add 하고 commit 한 코드 git server에 보내기 (git push origin master)
- git pull : git서버에서 최신 코드 받아와 merge 하기
- git fetch : git서버에서 최신 코드 받아오기
- git reset — hard HEAD^ : commit한 이전 코드 취소하기
- git reset — soft HEAD^ : 코드는 살리고 commit만 취소하기
- git reset — merge : merge 취소하기
- git reset — hard HEAD && git pull : git 코드 강제로 모두 받아오기
- git config — global user.name “user_name ” : git 계정 Name 변경하기
- git config — global user.email “user_email” : git 계정 Mail 변경하기
- git stash / git stash save “description” : 작업 코드 임시 저장하고 브랜치 바꾸기
- git stash pop : 마지막으로 임시 저장한 작업 코드 가져오기
- git branch — set-upstream-to=remote_path/branch_name : git pull no tracking info 에러 해결
# Git commit 하는 방법

* commit (송장번호)라고 생각하면 편함
1) commit 할 폴더를 만들고 폴더로 이동
2) git 시작 : git init 실행, 저장소 초기화
3) git 상태 확인 : git status (ex = 장바구니를 확인)
** git status를 사용하여 현재의 git 상태를 주기적으로 확인합니다.
4) 파일 수정 이력 기록 준비 : git add. 입력, 작업 파일을 모두 추가 (ex = 장바구니 담기)
***. 의 의미 (숨겨진 파일)
5) 파일 수정 이력 기록 : git commit -m 'message' 구분을 위한 메시지 (ex = 구매 처리)
6) commit 이력 보기 : git log 입력, commit 히스토리 확인 (ex = 구매내역을 확인)
7) github에 올리기 : git remote add origin "깃 헙 주소"를 입력하여 업로드 경로 설정
git push origin -all 입력, origin 저장소의 모든 로컬 브랜치를 푸시
