Git 이란 여러 사용자들간의 파일작업을 죠율하는 버전관리 시스템이다.
git init
버전관리 시작
git config --global core.autocrlf input
git config --global user.name 'github닉네임'
git config --global user.email 'github이메일'
git config --global --list
git 계정 내 컴퓨터에등록(개행문자설정)
버전생성을 위한정보등록
구성 확인
git status
버전관리 상태확인
git add .
버전관리를 하겠다고 지정
git commit -m '메세지'
버전 등록하기
git log
등록한 버전 확인
git remote add origin 주소
origin 이라는 이름의 원격 저장소를 생성
git push origin master
master 라는 이름의 브랜치로 원격저장소에 프로젝트 업로드
git push -all
이전까지 진행했던 브랜치 생성 작업, 브랜치 생성 후 commit 내역 등이 모두 github 로 올라가게 됩니다!
뒤에 --all
을 붙이지 않으면, 하나의 브랜치만 올라가게 됩니다!
git branch
프로젝트에서 관리되고 있는 브랜치를 확인할수 있다.
git branch -a
원격 저장소에서 관리되고 있는 브랜치를 확인할수 있다.
git branch 브랜치명
브랜치 만들기
옛날버전
git checkout signin
signin 이라는 브랜치로 이동
신버전
git switch -c 새로운 브랜치명
git switch 브랜치명
새로운 브랜치 만들어서 전환
브랜치 전환
git branch -D 브랜치명
브랜치 삭제하기
1. Pull request 메뉴 선택
2. New pull request 버튼 선택
3. base 브랜치 : 합쳐질 브랜치 , compare 브랜치 : 새로운 내용을 담고있는 브랜치
4.Able to merge 라는 메세지를 통해
siginin 브랜치에서 master 브랜치로 병합(merge) 할수 있다는것을 보여준다.
5.Create pull request 버튼을 통해 병합하는 페이지로 이동한다.
6.signin 브랜치가 master 브랜치로 병합한다는 메세지를 작성할수 있는 페이지가 보여지며 ,
Create pull request 버튼을 한번 더 누른다.
7.Pull request 메뉴에 숫자 1 이 생겨져 잇는데 open되어져 있는 병합요청이 생성된것을 알수 있다.
9. open 이였던 부분이 merged로 변경된것을 확인할수 있다.
보통은 pull request 를 작성할 때는, 왜 해당 부분을 작성했고, 이전에 비해서 어떤 것이 바뀌었는지, 그리고 코드 리뷰와 관련해서 요청사항은 어떤 것이 있는지 (ex. 특히 이 파일에서 if 문을 봐달라) 를 내용으로 작성하게 됩니다.
- 현재 PR 요약/개요
- 코드 변경 이유 (작성 이유)
- 관련 스크린샷
- 테스트 내용
- 리뷰 관련 요청사항
pull request 작업이 끝났지만, 아직 우리 컴퓨터의 코드는 그대로 입니다.
github 상의 코드를 가져와서 우리 컴퓨터에 반영해줘야겠죠?
git pull origin main
→ 이제 로컬 과 github 와 동일해졌습니다.
위 명령어를 입력하면, 우리 컴퓨터가 github 상에서 해당 브랜치들이 삭제되었음을 인식하게 됩니다.
→ 이렇게 해주는 이유는 혹시나 git pull 하는 과정에서 발생할 수 있는 오류를 방지하기 위함입니다.
그리고 아래 명령어를 이용해서 로컬 브랜치들을 삭제해주세요. (로컬 브랜치를 어떻게 할지는 선택이지만, 저는 항상 ‘pull request 가 merge 된 이후에는’ 지우면서 진행하고 있습니다.)
git branch -D feature/desc feature/email feature/name
git clone github주소
해당하는 주소의 저장소를 복제해서 현재경로에 새롭게 생성한다.
cmd + shift + p
모든명령표시 에 code 라고 입력하면
을 선택하여 설치후 vscode 재부팅 하면 리눅스 명령어를 통해 해당 디렉토리 위치로 이동후 code .을 입력하면
새로운 창에 프로젝트가 열린다.
code . -r
현재 창에서 폴더가 열린다.
git reset --hard HEAD~1
최신버전에서 한버전 뒤로 되돌리기
HEAD : 가장 최신 버전
~1 : 가장 최신 버전에서 한버전 뒤로
git reset --hard ORIG_HEAD
되돌린 버전 원상복귀
ORIG_HEAD : 기존의 HEAD (되돌리기 전상태가 메모리에 저장됨)
git branch -r
원격저장소에 등록되어 있는 브랜치확인
결과
git checkout -t origin/purple
원격 저장소에 있는 purple 브랜치를 가져오기
git branch -d 브랜치명
브랜치 삭제하기
git checkout -b yellow
브랜치 생성과 동시에 해당 브랜치로 이동
git push origin yellow
원격 저장소에 새로 만든 yellow 브랜치 저장하기
git pull origin master
원격저장소에 master 브랜치에 있는 내용 가져오기
결과
<<<<<HEAD : 로컬환경에서 작성한 내용
알수없는문자들.. : 커밋내역의 아이디
수동으로 지우거나 , 선택해서 내용 수정하여 저장하면 된다.
변경 사항 비교 버튼을 선택하면 로컬에서 만들어진 버전과 원격저장소에 있는 버전을 비교해서 확인할수 있다.
저장후 git push origin master를 실행하여 원격저장소에 저장하면 된다.
git branch -m master main
master 브랜치를 main 이름의 브랜치로 이동해서 시작을 하겠다고 선언
-m 은 move 의 약어이다.
git config --global init.defaultBranch 브랜치이름
모든 버전관리 시스템에 설정이 되는것으로 master 라는 기본 메인 브랜치 이름을 main으로 교체하는 방법
파일이나 폴더의 이름을 줄바꿈 하면서 .gitignore 파일에 명시를 하게 되면 git 통해 버전관리를 할때
해당하는 파일 & 폴더 들은 따로 관리를 하지 않고 github
저장소에도 업로드를 하지않는다.
git rm -r --cached .
git commit -m '.gitignore 규칙추가'
git push origin main
git 을 통해서 버전관리 하고 있는 파일들을 제거할 것인데 현재 경로에 있는 해당 파일들을 찾아서 진행 할 것이다
-rm : remove 를 뜻하며
-r : recursizve (재귀) 반복을 뜻한다.
. : 현재 경로
잘 봤습니다. 좋은 글 감사합니다.