Git 사용

'·2022년 12월 4일
0

study

목록 보기
5/5

참고 도서: Do it! 깃&깃허브 입문

깃 사용법
1. git CLI - command line interface
2. git GUI - graphic user interface (sourcetree)

기본 Git 작업 흐름
1단계 - 작업코드 변경사항 저장
2단계 - git add . (변경된 내용을 git이 관리할 수 있도록 stage에 올림)
3단계 - git commit -m "커밋메세지" (중요한 작업시점을 커밋으로 등록해 되돌리기 시점 추가)
4단계 - git log (커밋내역 확인, 커밋아이디)
5단계 - git checkout 커밋아이디 (해당 커밋으로 이동)
6단계 - git checkout master (최신 커밋으로 이동)
7단계 - git push origin master (커밋내역까지 포함해서 깃허브 저장소에 업로드)

————————————

처음 git 설치시
1. 깃허브 사이트에 가입해서 저장소 만든 후 저장소 주소 복사
2. git을 내 컴퓨터에 설치
3. 특정폴더에 작업파일들을 집어넣고 해당 폴더를 vscode로 오픈
4. vscode에서 터미널 창을 열고 git init (해당작업폴더안에 숨김폴더 .git생성됨)
맥에서 숨김폴더 commit + shift + .
5. git remote add origin 깃저장소 주소 (해당 작업폴더를 깃허브와 연동)
6. git config --global user.name "유저아이디" (깃허브 유저아이디 등록)
7. git config --global user.email "이메일" (깃허브 이메일등록)
5. 터미널창에서 git status를 하면 현재폴더안의 파일의 상태를 확인가능

————————————

git 버전별 기록 남기기
1. 작업시 중요한 작업 순간마다 파일 저장하고 터미널에 git add . (수정된 파일을 스테이지에 올림+
2. git commit -m "커밋메시지"를 터미널에 입력해 해당 시점의 체크포인트를 만듬
3. git log로 그동안의 커밋 내역을 확인 가능

————————————

커밋지점을 자유롭게 이동하면서 확인
1. git log (커밋 히스토리와 해당 커밋의 아이디값 확인)
2. git checkout 커밋아이디 (해당 커밋 아이디 시점으로 되돌리기해서 확인) //확인만 가능 수정하면 안됨
3. git checkout master (다시 최신 커밋 위치로 되돌아옴)

————————————

커밋메세지 수정하기
1. git rebase -i HEAD~2 (최근 커밋내용 2개까지 확인)
2. 수정을 할 커밋의 pick부분을 edit으로 수정한 뒤 esc눌러서 빠져나오고 :wq로 저장
3. git commit --amend
4. 해당 커밋의 메세지를 수정한 후 다시 esc --> :wq 입력후 저장후 빠져나옴
5. git log로 수정된 커밋 메세지 확인
6. git rebase --continue로 최종 완료
7. 혹시 중간에 commit수정이 잘못되면 git rebase --abort로 취소 가능


제일 최근 커밋메세지 수정하기
위에서 3번부터 순서대로 진행

————————————

특정 커밋 위치에서 새로운 복사본을 생성할떄 (브랜치생성)
1. git checkout 커밋아이디 (원하는 커밋 시점으로 이동)
2. git branch 브렌치명 (해당 커밋시점에서 해당브랜치명으로 복사본 생성)
3. git checkout 브렌치명 (복사한 브렌치로 이동)
4. git push origin 브렌치명 (특정 브렌치를 다시 깃허브에 등록)

————————————

브랜치 삭제
1. git branch -D 브랜치명 (로컬에서 해당 브랜치 삭제)
2. git push origin --delete 브랜치명 (깃허브의 해당 브렌치 삭제)

————————————

GitHub 업로드
1.터미널창에 git push origin master 입력
혹시 403 권한 없음 에러가 뜰 시, 아래 해결방법 시도
git remote set-url origin https://사용자아이디@github.com/사용자아이디/저장소아이디.git

————————————

git 작업시 특정 폴더, 파일 제외
1.작업 폴더 경로에서 .gitignore파일 생성
2. 폴더 제외시 /폴더명
3. 파일 제외시 파일명
4. 특정 확장자 제외시 *.확장자

gulp작업시 .gitignore파일 예시
중요 : git init하기 전에 무조건 .gitignore파일 먼저 설정
혹시라도 init가 먼저 되어 있다면 작업폴더에서 숨김 init폴더 삭제후 다시 설정
/node_modules
gulpfile.js
package.json
package-lock.json

————————————

GitHub page에 gulp작업 파일 올리는 순서
1. Gulp 작업폴더를 vscode에 등록
2. 해당 폴더안에 .gitignore파일 설정
3. 터미널창 열어서 gulp로 빌드시작
4. 터미널창을 분할해서 하나 더 연뒤 git init
5. 작업도중 중요하다고 판단되는 순간마다 커밋완료
6. 원하는 때 git push origin 브랜치명 으로 원하는 브랜치 gitHub 업로드
7. 해당 깃허브 저장소로 이동후 settings 클릭
8. 중간 부분에 gitHub Page섹션에서 특정 브랜치 선택후 save버튼 클릭
9. 해당 섹션에서 주소값을 복사해서 브라우저에 출력
10. 해당 주소값뒤에 /dist/까지 추가해야 화면 출력

————————————

git clone으로 특정 저장소 특정 폴더에 복사하기
(다른 근무지에서 내 작업 환경을 그대로 복사할때)
1.특정 폴더 생성하기
2. 마스터브랜츠 복사하고 싶을떄는 git clone 저장소주소 폴더명
2-1. 특정 브랜치를 복사하고 싶을떄는 git clone -b 브랜치명 저장소주소 폴더명
3.저장소 이름으로 폴더가 자동생성됨
4.해당 폴더로 다시 들어가서 작업 이어서 진행가능

5. 특정 폴더 안쪽에 들어갈때는 cd 하위폴더명
6. 상위 폴더로 빠져나올때는 cd ../

————————————

git psuh로 저장소와 로컬 작업환경을 동기화하기
(이미 해당 프로젝트 폴더는 있으나 작업 버전이 다를떄 동일하게 다시 세팅)
1.기존 작업폴더를 vscode에 등록
2.해당위치에서 git pull 저장소 주소
3.저장소에 있는 최신 버전으로 동기화됨
4.작업 이어서 진행가능

*Git 단계별 사용법

sourcetree

README.md - 어떤 저장소인지 설명글, 정보글

( 벡틱세개 - 특정코드 입력 가능, 벡틱세개 javascript - 어떤언어쓸건지명시한것)
클론 - 아무것도 없는 환경에서 통째로 저장소를 복사할때
pull - 작업환경이 있지만 버전이 다른것을 최신버전으로 동기화 할때

무시파일
.gitignore

(*.zip은 zip확장자 모든 파일)
useless.txt

push ERR
1. local에 README.md 파일이 없는경우.
원격저장소보다 로컬저장소가 상위버전 이어야 하는데, local에 README.md가 없어서 하위버전이라 인식하여 err
2. README.md 파일이 있지만! 내용이 달라 충돌이 일어나는 경우
강제로 push, 소스트리에서 할 수 없음. 터미널 창에서 git push origin master -f f은 force

git merge시, 병합(merge)충돌(conflict)

오류코드는…그냥 지워주던데?..;;

0개의 댓글