
복구 특정 시점으로 되돌리며, 그 동안의 커밋을 무효화 리셋 | reset - 커밋을 기준으로 이전 코드로 되돌아가는 방법 - 저장소가 공개되었거나 공유하고 있는 경우 리셋이 혼란을 야기할 수 있음. [1] git reset --soft [커밋ID] [2] git reset --mixed [커밋ID] [3] git reset --hard [커밋ID] - [1] 스테이지 영역의 상태로 되돌림 즉, 작업을 하고 add한 상태 - [2] git reset의 default 옵션으로, 워킹 디렉토리 상태로 되돌림 즉, 작업만 하고 add하지 않은 상태 - [3] 모든 내용 초기화 커밋 합치기 - git reset을 응용한 커밋 합치시 - 세개의 커밋 확인 (git log --oneline) - 2단계 전 상태로 ..

rebase 병합 베이스(base) : 브랜치의 공통 조상 커밋 리베이스(rebase) : 커밋 순서 재배치를 통합 병합 커밋 위치와 해시값 변경을 동반하여 공개된 저장소에서는 권장하지 않음(원칙) 외부로 코드를 푸시하거나 공개하기 전에 로컬에서만 실행하는 거이 좋으며, 외부에 공개된 커밋을 리베이스하면 커밋 위치와 해시 값이 변경되어 혼란을 야기함. medium.com/@richarderdos/git-rebase-tips-tricks-164734a2e47d 리베이스 | rebase git rebase [기준 브랜치이름] - 파생된 브랜치의 커밋들은 기존의 base가 아닌 기준 브랜치의 마지막 커밋 이후로 순서대로 나열됨 - 기준 브랜치에서 git merge 명령을 했던 것과 병합 기준/대상이 반대이다...

병합과 충돌 병합 독립된 개별 공간(브랜치)에서 작업했던 내용을 통합 병합 방식 | Fast Forward - 기준 브랜치에서 파생된 브랜치가 하나의 경로를 가질 때 git merge [병합할 브랜치명] - 현재 브랜치를 기준으로 가져다가 붙힐 브랜치를 입력 https://ariya.io/images/2013/09/merging.png confluence.curvc.com/pages/viewpage.action?pageId=26116337 - master 브랜치에서 파생된 브랜치 a에서만 개발을 하고 다시 master 브랜치로 병합 병합 방식 | 3-Way - 기준 브랜치와 파생된 브랜치에서 동시에 개발이 진행될 때 v1study.com/git-merge.html - 공통 조상 커밋(Common base..

스태시(임시 저장) 작업한 내용을 저장하고 최종 커밋 단계로 복구시킴(기본적으로 tracked file 대상) stash를 할 때마다 스택의 구조로 저장됨 임시저장 | stash [1] git stash [2] git stash save [메세지] [3] git stash (save) --keep-index ([메세지]) [4] git stash (save) --include-untracked ([메세지]) - [1] 현재의 워킹 디렉토리와 스테이지 영역을 모두 저장 - [2] 메세지를 추가하여 저장 - [3] 스테이지 영역의 파일은 제외하고 저장 - [4] untracked file도 저장 스태시 목록 git stash list 스태시 내용 확인 [1] git stash show [스태시이름] [2] ..

- 이전 포스팅에 이어서 ... 원격 브랜치(리모트 브랜치) 원격 저장소에 생성한 브랜치 로컬 브랜치와 원격 브랜치의 연결(추적) 과정이 필요 원격 브랜치 확인 git branch -r - 로컬 저장소에 브랜치가 있는 것과는 달리 동기화 이전에는, 원격 브랜치는 비어있음 브랜치 연결 | 업스트림 - 로컬에 원격 저장소가 등록된 뒤, 브랜치간 연결을 위한 과정이 필요함. - 트래킹 브랜치는 원격 브랜치와 로컬 브랜치를 연결해주는 레퍼런스 역할을 함. - 연결을 하지 않은 경우 아래와 같은 에러 메시지가 발생 git push --set-upstream [원격별칭] [원격브랜치이름] - 브랜치에서 위의 명령을 실행함으로써 해당 로컬 브랜치와 원격 브랜치 사이에 트래킹 브랜치가 생성되며 연결됨. - 두 브랜치가..

브랜치 개발 분기점, 프로젝트를 독립적으로 관리 가상의 폴더에 원본을 바탕으로 사본(물리적 사본x)을 생성, 포인터와 유사한 BLOB을 도입하여 내부를 구조화 -> 독립적 공간, 빠른 브랜치 이동 기본적으로 하나의 브랜치 필요(master) 브랜치 생성 | branch - 브랜치는 공통된 커밋 지점을 가짐 -> 기준 브랜치 or 커밋을 바탕으로 새로운 브랜치를 생성 - 커밋처럼 SHA1 해시 값을 가지며, 이를 대신해서 별칭을 사용 git branch [브랜치이름] ([커밋ID]) - 커밋ID 입력하면 지정한 커밋 기준으로 브랜치 생성 - 입력하지 않으면 현재 브랜치의 HEAD 기준으로 생성 - 브랜치 이름 생성 조건 = -, . 으로 시작할 수 없음 = 연속적인 마침표(..), 빈칸, 공백 문자, ~,..

원격 저장소(서버 저장소) 원격 저장소를 사용함으로써, 사무실에서 개발했던 내용을 집에서 개발할 수도 있고 팀원들과 공유, 협업에서 나아가 다른 개발자들과의 공유, 협업도 가능하다. PC를 깃 서버로써 사용할 수도 있지만, 깃 호스팅 서비스를 사용하는 것이 보편적이다. 깃 허브가 대표적인 깃 호스팅 서비스이다. 통신 프로토콜 - Local : PC를 원격 저장소로 사용, NFS등 서버로 사용하는 경우 편리하다. - HTTP : HTTP 프로토콜로 원격 저장소와 통신, 아이디와 비밀번호로 인증, 익명 접속 가능 - SSH : 보안성을 제공하는 프로토콜. 인증서를 만들어서 사용하며, 익명 접속 불가 - GIT : 깃의 데몬 서비스를 위한 전용 프로토콜 방식. 인증 시스템이 없어 보안에 취약, 실제로 잘 사용..

GIT Commit 소스 코드 변경을 하고 이를 기록하기 위해서 커밋을 한다. 버전 관리를 설명할 때, 되돌아갈 수 있는 지점이라고 했는데, 그 지점을 남기는 것이 커밋이라고 볼 수 있다. 깃에서는 커밋을 하면 부모 커밋을 기반으로 변화된 부분만 새로운 커밋으로 생성한다. 파일 생성 깃 저장소에 새로운 파일 생성 (파일명 text) 워킹 디렉토리에서 새로운 파일이 생긴다. git status git status로 상태를 확인하면, 새로운 파일이 등록된 것을 알 수 있다. 그리고 text 파일은 현재 untracked 상태임을 알 수 있다. 파일 등록(untracked -> tracked) git add 파일명 git add . 파일명을 입력하지 않고 .을 입력하면 현재 디렉토리 내의 모든 파일과 폴더가 ..
- Total
- Today
- Yesterday
- SQL
- rebase
- 리베이스
- Query
- 브랜치 추적
- mysql
- Aggregation Functions
- db
- Merge
- 원격 브랜치
- git add
- 병합
- String Functions
- git
- set operator
- 스태시
- Data Integrity
- DML
- DDL
- Advanced Functions
- Numeric Functions
- 영역 무결성
- 깃
- 브랜치 삭제
- TCL
- 제약 조건
- Date Functions
- SQL 연산자
- 업스트림
- DB execution
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |