Git: Version Control System(VCS)
버전관리를 하는 이유
1. 수정할 때 마다 파일을 새로 만들면 관리가 힘들기 때문에
2. 언제든 이전 버전의 코드로 돌아갈 수 있기 때문에
3. 이력을 남기기 위해
4. 하나의 프로젝트를 여러명의 개발자들이 협업할 수 있음
Version Control Systems
Subversion, CVS, Mercurial 등이 있지만, 최근에는 Git이 가장 많이 활용됨
GitHub
vim을 쓰는 이유, 어떤 환경에서든 활용하기 위해
vim 기본 명령어'i': 입력 'o': 다음 줄부터 입력을 시작 'esc': 입력 모드에서 나가기 ':': 명령어 입력을 시작 ':wq': 저장하고 종료 ':q!': 변경사항 저장 없이 종료
mkdir git && cd git
git init # git/안에 빈 깃 저장소(Repository)를 초기화
ls -al # .git이라는 폴더가 생김 # 앞에 .이 붙으면 숨겨진 폴더라는 뜻
# git을 통해 이력관리를 볼 수 있는 파일
git 명령어
git status # git으로 트랙 중인 현재 폴더의 진행 상황을 보여줌
# 파일을 생성 후 git status의 변화를 파악
vim jaehyeoklee.md # jaehyeoklee.md 파일을 생성
git status # 새로 생성된 파일이 'Untracked files'에 추가됨
git add . # git이 관리하는 파일에 파일을 추가 (.을 쓰면 해당 폴더 내 파일을 모두 git에 추가)
# 개별적으로 파일을 추가할 일이 많지 않으므로 보통 위의 명령어를 활용함)
# 빨간색으로 표시된 파일: 추적하지 않는 파일 (해당 파일의 변경 사항을 git에 기록하지 않음)
# 초록색으로 표시된 파일: 추적하는 파일 - commit을 통해 변경사항을 기록
git commit -m "jaehyeok.md 파일 추가"
# '-m' flag: 이어서 commit에 관한 메세지를 남김
# 오류메세지가 나오지 않는다면 정상적으로 commit된 것
위의 경우 commit을 할 경우,아래와 같은 메세지가 출력됨
1 file changed, 1 insertion(+)
create mode 100644 jaehyeoklee.md
git log # git의 변경 log를 조회
# q를 통해 log 파일에서 나갈 수 있음
만약에 파일을 수정하고 저장한뒤 다시 git status
를 사용하면, 수정한 파일을 별도로 보여줌
git status
git add .
git commit -m "2번째 줄 추가" # commit
git status # 아무것도 안뜸
git log # 새로운 수정사항이 표시 됨
만약 위의 프로젝트 폴더를 그대로 github 등에 업로드하면, commit 내역을 모두 볼 수 있음
브랜치
작업 중에 보존해야 할 원본을 두고 추가적인 수정을 하는 개념
→ 나중에 배움
New Repository 만들기
두 번째 항목을 보면 기존에 local에서 가지고 있는 Repository를 업로드 하는 방법을 알려줌
# local의 repository를 origin이라는 이름의 원격 주소로 보냄
git remote add origin https://github.com/leejaek/backend-15.git
위의 명령어를 local의 git 디렉토리에서 입력해주면 추가됨
# remote repository를 확인
git remote -v
master
를 main
으로 이름을 변경
# master를 main으로 변경
git branch -M main
# 현재 branch를 확인
git branch
자동으로 push 되도록 설정
git push -u origin main
위 과정을 거치면 아래와 같이 commit 된 결과를 gitHub에서 볼 수 있음