[Git] git 사용 방법 정리
안녕하세요. 개발하는 정주입니다.
오늘은 git에 대해 포스팅하려고 합니다. 유튜브를 보며 학습한 내용을 정리하였습니다.
https://hackmd.io/@oW_dDxdsRoSpl0M64Tfg2g/ByfwpNJ-K
프로젝트 시작
프로젝트를 처음 만들었을 때입니다. 프로젝트에 git을 설정해야 합니다.
git init
프로젝트 폴더 경로에서 git init을 해줍니다. 프로젝트 맨 처음에만 진행하는 명령어입니다.
파일 추가
파일을 변경하면 이를 추가해야 합니다. git add는 작업 디렉터리의 변경 사항 내역을 스테이징 영역에 추가하기 위한 명령어입니다.
git add .
add .은 현재 디렉터리와 하위 디렉터리의 변경된 모든 파일을 추가하겠다는 명령어입니다.
상위 디렉터리는 포함하지 않습니다.
git add -A
-A는 상위 디렉터리를 포함하여 작업 디렉터리의 모든 변경사항을 add 하고 싶을 때 사용합니다.
최상위 디렉터리에서 add .을 한 것과 add -A를 한 것은 동일한 효과입니다.
git add <file> <file> <file> ...
만약 일부만 추가하고 싶다면 . 대신 파일 명을 적어주세요.
git add -p
변경 사항을 하나하나 확인하며 추가하거나 제외하고 싶을 때도 있습니다. 이땐 -p 옵션을 사용해줍시다.
상태 확인
git status
변경점이 있거나 add가 되었다는 등의 상태를 확인합니다.
히스토리 생성(Commit)
git commit -m "commit"
commit 하는 명령어입니다. -m 옵션을 사용하면 바로 뒤에 메시지를 추가할 수 있습니다.
Github repository와 프로젝트 폴더 연결
Github repository와 자신의 프로젝트 폴더를 연결해야 합니다. 만약 이미 연결을 하셨다면 하지 않아도 됩니다.
git remote add <remote name> <repository link>
remote를 추가하는 명령어입니다. remote name의 가장 대표적인 예시는 origin입니다. 많은 예제들이 origin을 사용하는데 그것이 remote name입니다. repository url은 자신의 github repository에서 확인할 수 있습니다.
git remote -v
v 옵션을 사용하여 제대로 생성이 되었는지 확인할 수 있습니다.
git fetch <remote>
로컬에는 없지만 remote 저장소에 있는 데이터를 모두 가져옵니다. 자동으로 기존 코드와 merge 하는 것은 아니고 merge는 수동으로 해야 합니다.
Github로 올리기
git push origin master
git push <remote> <branch>
먼저 말하자면 master에 push 하는 것은 연습할 때만 하고 실제로는 절대 사용하면 안 됩니다.
master는 최종 결과물로서 함부로 건들면 안 되는 공간입니다. 따라서 협업을 진행할 때는 절대로 master에 push를 하면 안 됩니다.
개인 프로젝트에서는 상관은 없겠지만 미리미리 연습하도록 합시다.
협업을 위한 명령어는 아래 내용을 확인해주세요.
Github 코드 다운로드
git clone <repository link> <download name>
repository의 코드를 다운로드하는 명령어입니다. 설정한 download name으로 다운로드가 되며 이를 설정하지 않으면 자동으로 repository 이름으로 설정됩니다.
Branch 생성, 전환 하기
git branch <branch name>
자신의 branch를 생성할 수 있습니다.
git checkout -b <branch name>
checkout 명령어를 사용하면 branch를 전환할 수 있습니다.
b 옵션을 주면 브랜치 작성과 체크아웃을 한 번에 할 수 있습니다.
꼭 master가 아니라 자신의 branch를 만들어 커밋하는 습관을 기르도록 합시다.
master branch에서 소스 가져오기
git pull <remote> master
프로젝트 시작 전에 master에 변경이 있다면 동기화를 시켜야 합니다.
pull 명령어를 이용하여 자신의 저장소와 master 코드를 동기화해줍시다.
자신의 작업 내역 푸시하기(정리)
git add .
git commit -m "first commit"
git push <remote> <branch>
마무리 잡담
오늘은 git에 대해 알아보았습니다. 협업에 있어 필수적인 기술인데요. 꼭 연습해서 능숙해져야겠습니다.
감사합니다!
아직은 초보 개발자입니다.
더 효율적인 코드 훈수 환영합니다!
공감과 댓글 부탁드립니다.
태그