Git(깃)은 컴퓨터 파일의 변경사항을 추적하고 여러 사용자들 간에 해당 파일 작업을 조율하기 위한 대표적인 버전 관리 시스템(VCS)입니다.
Version / Backup / Collaborate
세상에는 여러가지 git프로그램이 있다.
- GithubDesktop - 간단해서 배우기 좋지만 기능이 적다. 고급 사용자가 되면 답답할 수 있음.
- TortoiseGit - 윈도우 탐색기에 기생해서 사용되는 프로그램. (윈도우에서만 사용가능)
- Git - 명령어를 통해서 git을 제어하는 프로그램. 이것을 기반으로 다른 프로그램들이 만들어진 것.
VS코드 > 터미널 > 새 터미널 or 파란색 상태바 위로 끌어올리기
$ git --version # git 설치 여부 확인
$ git init # 현재 프로젝트에서 변경 사항 추적(버전관리)을 시작
--- 최초 한번만 작성 ---
$ git config --global core.autocrlf true # 개행 문자 (Newline) 설정
$ git config --global user.name '깃허브이름' # 사용자 정보
$ git config --global user.email '깃허브메일' # 커밋(버전 생성)을 위한 정보 등록
$ git config --global --list # 구성 확인
$ git status # 상태 확인
> 빨간색 메세지
$ git add . # 모든 파일의 변경사항을 추적하도록 지정
$ git status
> 초록색 메세지
$ git commit -m '버전 이름' # 메세지(-m)와 함께 버전을 생성.
$ git log # 커밋 확인
--- gitHub페이지로 이동 ---
사용자 메뉴 > your repositories
new > 제목 입력 > Create # 저장소 생성
원격 주소 복사
--- VS 코드 ---
$ git remote add origin 주소 붙여넣기 # origin이란 별칭으로 원격 저장소를 연결.
$ git push origin master # origin이란 별칭의 원격 저장소로 버전 내역 전송.
--- VS코드에서 수정사항 저장 ---
$ git status
> 빨간색 modified: ~~~
$ git add .
$ git status
> 초록색 modified: ~~~
$ git commit -m '벳지 이미지 수정'
$ git log
$ git branch
- master
$ git branch -a
- master
remotes/origin/master
$ git branch signin
$ git branch
- master
signin
$ git switch signin
$ git branch
- master
signin
$ git status
> 빨간색
$ git add .
$ git status
> 초록색
$ git commit -m '로그인 페이지 완성'
$ git status
> nothing to commit, working tree clean # 현재 프로젝트가 가장 최신의 버전으로 유지가 된 상태
$ git push origin signin
--- github로 이동 ---
Pull requests > compare: signin으로 클릭 >
Create pull request 클릭 > 내용 작성 >
Create pull request > (Open) Confirm merge > (Merged)
깃허브 로그인 > your repositories > 원하는 저장소 선택 > code 클릭 > 주소 복사 > VS코드 열기
> cd desk 탭 엔터 > dir로 폴더 확인 > git clone 주소붙여넣기 > dir 폴더 확인(복제됨)
ctrl + shift + p > code 검색
> Shell command: Install 'code' command in PATH 라고 안나오면 계속 진행 나오면 설치 후 재부팅
> cd desk 탭 > cd 복제폴더
> 1. code . : 새창에 VS코드 열림 or 2. code . -r : 현재창에 VS코드 열림
폴더 생성 > VS코드로 열기 > 내용 작성
$ git init
$ git status
> 빨간색
$ git add .
$ git status
> 초록색
$ git commit -m '커밋 내용1'
$ git log
> 커밋 내용1
--- 수정 내용 작성 ---
$ git status
> 빨간색
$ git add .
$ git status
> 초록색
$ git commit -m '커밋 내용2'
$ git log
> 커밋 내용2
> 커밋 내용1
--- 수정 내용 작성 ---
$ git status
> 빨간색
$ git add .
$ git status
> 초록색
$ git commit -m '커밋 내용3'
$ git log
> 커밋 내용3
> 커밋 내용2
> 커밋 내용1
--- 버전 되돌리기 ---
$ git reset --hard HEAD~1 # 최신 버전에서 뒤로 한 버전 되돌리기
$ git log
> 커밋 내용2
> 커밋 내용1
$ git reset --hard ORIG_HEAD # 기존의 헤드로 되돌리기
$ git log
> 커밋 내용3
> 커밋 내용2
> 커밋 내용1
$ git reset --hard HEAD~2 # 최신 버전에서 뒤로 두 버전 되돌리기
$ git log
> 커밋 내용1
$ git reset --hard ORIG_HEAD
$ git branch purple
$ git branch # 잘 만들어졌는지 확인
$ git switch purple
--- 내용 작성 ---
$ git status
>빨간색
$ git add .
$ git commit -m 'puple/1'
$ git log
$ git switch master
--- 수정 내용 작성 ---
$ git add .
$ git commit -m '커밋 내용4'
--- 깃허브에 저장소 생성 > 주소 복사 ---
$ git remote add origin 주소 붙여넣기
$ git push origin master
$ git switch purple
$ git push origin purple
깃허브에서 저장소 주소 복사 > VS코드 cd로 원하는 위치 이동
$ git clone 주소 붙여넣기
$ code . -r
$ git branch -r
> origin/master
> origin/purple
$ git switch -t origin/purple
$ git branch
> master
> purple
--- < 브랜치 지우는법 > ---
$ git switch master
$ git branch -d purple
$ git branch
> master
--- < 브랜치 생성과 동시에 이동하는 법 > ---
$ git switch -c yellow
$ git pull origin master # 원격저장소에서 로컬저장소로 가져옴
충돌 영역 보여줌 > 내용 수정
$ git add .
$ git commit -m 'ABYX'
$ git push origin master