미루고 미뤄왔던 깃과 깃허브 에 대해 자세히 공부하고 그 내용을 글로 작성하여 정리해보려고 한다.
깃과 깃허브를 사용하긴 하였으나, git add , git commit , git push origin main 과 같은 gitHub 에 코드를 올리기 위한 수단으로만 사용하였다.(merge, branch 등을 사용해본 경험이 없음)
zerocho 님의 강의를 듣고 그 내용을 정리해보려고 한다.
git 이 관리 해야 할 디렉토리 무엇인지를 알려주기 위해 사용하는 명령어라고 생각하면 된다.
git과 같은 버전 관리 시스템을 사용하기 위해 디렉토리를 초기화 하는 과정이고 프로젝트 관리 시에 초기 1번만 실행 한다.
현재 디렉토리의 작업 상태를 알 수 있는 명령어. git Status 를 통해 할 수 있는 것 목록
변경 된 파일
커밋 되지 않은 변경사항
커밋 가능한 변경사항
현재 브랜치
변경 된 파일을 스테이징 영역에 추가하기 위한 명령어
스테이징 영역 이란 커밋을 준비하는 임시 공간으로, 변경된 파일을 여기에 추가하면 해당 파일의 현재 상태가 기록 된다.
쉽게 말해 변경 된 파일을 커밋하기 직전 으로 옮겨준다고 생각하면 된다.
git add 명령어는 뒤에 fileName을 입력해 원하는 파일 만을 추가해주거나
git add . 을 사용하여 작업 중 변경 된 파일을 전부 추가 해줄 수도있다.
git add . 을 하게 되면 변경 된 파일이 한번에 올라가는 장점이 있지만, 본인이 git 에서 관리를 원하지 않는 파일 또한 전부 스테이징 영역으로 추가 된다.
이를 방지 하기 위해 .gitignore 파일을 생성 한 뒤 생략하고 싶은 파일을 이름을 작성해주면 git 에서 알아서 생략 후 버전 관리를 진행 해준다.
(주의 할 점 : 이미 커밋 된 파일은 이름을 추후 추가하여도 git 에서 관리를 중지하지 않음. 따라서 커밋 된 파일을 지운 후 추가 or 처음 부터 잘 작성하기)
스테이징 영역에 있는 파일들을 현재 브랜치에 커밋하는 데 사용된다.
git 한테 스테이징 영역의 파일들을 기억해줘! 라고 요청하는 것이라고 생각하면 된다.
commit 을 하기 위한 명령어로 commit / commit -m 이 있는데 둘다 단계가 다를 뿐 동일 하다고 보면 된다.
git commit => memo (memo:first Commit) => :wq(write & quit) => end
git commt -m "first Commit" => end
만약 git commit 시 에러가 발생한다면, 초기 설정을 마치지 않아서 그럴 수 있는데
git config --global user.email "이메일"
git config --global user.name "이름"
이런 식으로 자신이 누구인지를 명시 하게 되면 에러가 사라지게 된다.
git commit -am "fileName"
보통 git add . 과 git commit -m "fileName" 과 같은 작업을 반복 하는데, 한번에진행 하고 싶을 때 commit -am 명령어로 실행이 가능하다.