명령어로 버전 관리하기
git init
git init은 Git 저장소를 초기화하는 명령어입니다. 이 명령어를 사용하면 기존 디렉토리를 Git 저장소로 변환하거나, 새로운 프로젝트를 시작할 때 Git 저장소를 생성할 수 있습니다
//로컬 저장소 만들기
git init
git config
git config 명령어는 Git의 설정을 관리하는데 사용되는 명령어입니다. Git은 사용자의 이름, 이메일 주소, 에디터 설정 등을 저장하고 이를 사용하여 커밋 메시지 작성 등에 활용합니다.
//config 확인
git config --list
//config 만들기
git config --global user.name "닉네임"
git config --global user.email "이메일@naver.com"
//config 삭제
git config --unset --global user.name
git config --unset --global user.email
git status
git status는 현재 작업 디렉토리와 인덱스(Staging Area)의 상태를 보여주는 명령어입니다. 이 명령어를 실행하면 현재 프로젝트에서 어떤 파일들이 수정되었고, 어떤 파일들이 인덱스에 추가되었는지, 커밋이 필요한 변경 사항이 있는지 등을 확인할 수 있습니다.
//작업 디렉터리 상태 확인하기
git status
git add
git add 명령어는 Git에서 변경된 파일들을 스테이지(Stage) 영역에 추가하는 명령어입니다.
//<스테이지에 추가할 대상>을 스테이지에 올리기
git add <스테이지에 추가할 대상>
//모든 변경사항을 스테이지에 올리기
git add .
git commit
git commit 명령어는 스테이지(Stage) 영역에 추가된 변경 사항들을 로컬 저장소에 커밋하는 명령어입니다. 쉽게 말하면, 스테이지 영역에 있는 파일들을 현재의 버전으로 저장하는 것입니다.
//<커밋 메세지>로 커밋하기
git commit -m(--message) "<커밋 메시지>"
git log
git log 명령어는 현재 브랜치의 커밋 이력을 보여주는 명령어입니다. 이 명령어를 사용하면 저장소의 커밋 기록을 확인할 수 있습니다.
//커밋 목록 조회하기
git log
//커밋 목록을 한 줄로 조회하기
git log --online
//커밋별 변경 사항 목록 조회하기
git log -p(--patch)
//커밋목록을 그래프로 조회하기
git log --graph
//모든 브랜치의 커밋 목록 조회하기
git log --branches
git tag
git tag 명령어는 Git 저장소에서 태그를 관리하는데 사용되는 명령어입니다. 태그는 특정 시점의 커밋을 의미하는 이름으로 붙이는 것으로, 주로 소프트웨어 버전을 관리하거나 중요한 이벤트를 표시하는데 사용됩니다.
버전 표기방식은 개발자가 정하기 나름인데 저는 보통 <숫자.숫자.숫자>형태로 명시합니다
vX.Y.Z
X 주버전 : 가장 중요한 버전으로 일반적으로 새롭게 내놓은 버전이 기존에 내놓은 버전과 호환되지 않을 정도로 큰 변화가 있을때 증가
Y 부버전 : 새롭게 내놓은 버전이 기존에 내놓은 버전과 문제없이 호환되지만 새로운 기능을 추가했을 때 증가
Z 수버전 : 기존에 내놓은 버전과 문제없이 호환되며 버그를 수정한 정도의 작은 변화가 있을때 증가
//태그 추가하기
git tag <태그>
//<커밋>에 <태구> 추가하기
git tag <태그> <커밋>
//태그 목록 조회하기
git tag
git tag --list
git tag -l
//<태그> 삭제하기
git tag --delete <태그>
git tag -d <태그>
git diff
git diff를 사용하면 코드 변경사항을 확인할 수 있어 소스 코드의 상태를 비교하고 이해하는데 도움이 됩니다.
//최근 커밋과 작업디렉터리 비교하기
git diff
//최근 커밋과 스테이지 비교하기
git diff --staged
//<커밋>끼리 비교하기
git diff <커밋> <커밋>
//<브랜치>끼리 비교하기
git diff <브랜치> <브랜치>
git reset
git reset은 Git에서 사용되는 명령어로서, 이전 커밋들과의 관계를 재설정하는 역할을 합니다. 즉, 이전 커밋들로 돌아가거나, Staging Area(인덱스)에 있는 파일들을 변경하는 등의 작업을 수행할 수 있습니다.
//<되돌아갈 커밋>으로 soft reset하기
git reset --soft <되돌아갈 커밋>
//<되돌아갈 커밋>으로 mixed reset하기
git reset --mixed <되돌아갈 커밋>
git reset <되돌아갈 커밋>
//<되돌아갈 커밋>으로 hard reset하기
git reset --hard <되돌아갈 커밋>
- --soft 옵션은 커밋을 취소하고 스테이징 영역에 그대로 남기는 옵션입니다.
- -mixed 옵션은 커밋을 취소하고 스테이징 영역에서도 해당 변경 사항들을 제거하는 옵션입니다.
- --hard 옵션은 커밋을 취소하고 스테이징 영역에서 해당 변경 사항들을 제거하며, 작업 디렉토리까지 이전 커밋 상태로 변경하는 옵션입니다.
git revert <취소할 커밋>
git revert는 이전 커밋을 취소한 새로운 커밋을 생성하는 Git 명령어입니다. 기존의 커밋을 변경하지 않고, 변경 사항을 되돌리는 방법으로 사용됩니다.
//<취소할 커밋>이 취소된 새로운 커밋 만들기
git revert <취소할 커밋>
git reset은 브랜치를 강제로 이전 상태로 되돌리는 데 사용되며, 이전 커밋들의 히스토리가 변경됩니다. 반면에 git revert는 이전 커밋을 취소한 새로운 커밋을 생성하여 변경 사항을 반영하며, 이전 커밋들의 히스토리를 유지합니다. 일반적으로 협업 환경에서는 git revert를 사용하여 변경 사항을 롤백하는 것이 안전하고 추천되는 방법입니다.
git stash
//변경 사항 임시저장하기
git stash
//<메시지>와 함께 변경 사항 임시 저장하기
git stash -m(--message) "<메세지>"
//임시 저장된 작업 내역 조회하기
git stash list
//임시 저장된 작업 적용하기
git stash apply <스태시>
//임시 저장된 작업 삭제하기
git stash drop <스태시>
git branch
//<브랜치> 목록 조회하기
git branch
//<브랜치> 만들기
git branch <브랜치>
//<브랜치> 삭제하기
git branch -d(--delete) <브랜치>
//다른 브랜치에서 <브랜치> 병합하기
git merge <브랜치>
git checkout
git checkout은 Git에서 브랜치를 전환하거나 작업 디렉토리의 파일을 변경하는데 사용되는 명령어입니다.
//<브랜치>로 체크아웃 하기(브랜치 변경)
git checkout <브랜치>
//<브랜치>생성하고 체크아웃 하기(브랜치 생성 후 변경)
git checkout -b <브랜치>
git rebase <브랜치>
git rebase 명령어는 주로 브랜치를 통합하거나 커밋들을 재배치하는데 사용되는 Git 명령어입니다. git rebase를 사용하면 현재 브랜치의 커밋들을 다른 브랜치의 커밋들 위로 이동시킬 수 있습니다.
//<브랜치>로 재배치하기
git rebase <브랜치>
원격 저장소와 상호작용하기
git clone <원격 저장소>
git clone 명령어는 원격 저장소에서 코드를 가져와서 로컬 환경에 복제하는 Git 명령어입니다. 기본적으로 원격 저장소의 코드를 로컬로 복제하여 새로운 Git 저장소를 생성합니다.
//원격 저장소를 복제하기
git clone <원격저장소>
git remote
git remote 명령어는 로컬 Git 저장소에 등록된 원격 저장소를 관리하는 데 사용되는 명령어입니다. 원격 저장소는 코드를 저장하고 다른 개발자와 협업하는 데 사용되며, 주로 GitHub, GitLab, Bitbucket 등의 원격 저장소 호스팅 서비스와 연결됩니다.
//<원격저장소> 추가하기
git remote add origin <원격 저장소 이름> <원격 저장소>
//원격 저장소 이름 조회하기
git remote
//원격 저장소 이름과 경로 조회하기
git remote -v(--verbose)
//원격 저장소 이름을 <기존 원격 저장소 이름>에서 <바꿀 원격 저장소 이름>으로 변경하기
git remote rename <기존 원격 저장소 이름> <바꿀 원격 저장소 이름>
//원격 저장소 삭제하기
git remote remove <원격 저장소 이름>
git push
git push 명령어는 로컬 저장소의 변경 사항을 원격 저장소에 업로드하는 Git 명령어입니다. 로컬 저장소에서 작업한 내용을 원격 저장소로 올리는데 사용됩니다.
//<원격 저장소 이름>에 <브랜치>를 밀어넣기
git push <원격 저장소 이름> <브랜치>
git fetch
git fetch 명령어는 원격 저장소의 최신 정보를 로컬 저장소로 가져오는 Git 명령어입니다. 하지만 git pull과는 다르게 실제로 작업 디렉토리에 변경 사항을 반영하지 않고, 단순히 원격 저장소의 최신 브랜치와 커밋 정보를 가져오는 용도로 사용됩니다.
//원격 저장소를 일단 가져만 오기
git pull
git pull 명령어는 원격 저장소에서 변경된 내용을 로컬 저장소로 가져오는 작업을 수행하는 Git 명령어입니다. git pull은 git fetch와 git merge를 합쳐놓은 것과 같은 역할을 합니다.
//원격 저장소를 가져와서 합치기
git pull <원격 저장소 이름>
git <명령> --help
//<명령>에 대한 메뉴얼 페이지 보기
git <명령> --help
git 관련 사이트와 git 연습하기 좋은 사이트 추천
https://backlog.com/git-tutorial/kr/intro/intro1_1.html
설명이 너무 잘되어있기 때문에 공부할때 참고하면 git 마스터가 될수있습니다 ^^..!
https://learngitbranching.js.org/?locale=ko
저도 최근에 안 사이트인데 git 연습해보기 좋은 사이트에요 ~ !!
git GUI 추천
Git 명령어를 터미널에서 사용하는 것은 초보자에게는 다소 어렵고 복잡할 수 있습니다. 이럴때는 GUI를 사용하는거도 나쁘지 않습니다.
가장 추천드리고 보편적으로 많이사용하는 GUI는 소스트리 입니다.
https://www.sourcetreeapp.com/
Git 소스트리는 사용자 친화적인 UI를 제공하여 Git을 쉽고 편리하게 활용할 수 있도록 도와줍니다. Git 명령어를 사용하기 어려운 사용자나 비전문가 개발자들도 소스트리를 통해 코드 버전 관리와 협업을 간편하게 할 수 있습니다.
'기타' 카테고리의 다른 글
aws 인스턴스 고정 IP (탄력적 IP) 생성하기 (0) | 2023.08.03 |
---|---|
aws ec2 서버 생성하기 (0) | 2023.08.03 |
JWT(JSON Web Token) 토큰이란?? (0) | 2023.04.07 |
쿠키 vs 세션(cookie vs session) (0) | 2023.04.07 |
파워쉘 보안 정책 문제해결 (0) | 2023.04.05 |