일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 알고리즘
- 동적 계획법
- VIM
- 백준
- Python
- LeetCode
- 그레이들
- frontend
- Redux
- 안드로이드
- Javascript
- Graph
- 프로그래머스
- DP
- TypeScript
- Algorithm
- 리트코드
- BFS
- Database
- CS
- db
- DFS
- 자바
- Data Structure
- react
- java
- network
- git
- 다이나믹 프로그래밍
- vscode
- Today
- Total
목록Programming Library & Tools/Git (8)
늘 겸손하게
git reset --hard 를 통해 이전 commit으로 되돌아갈 수 있으나, 되돌리기(Reset) 실수를 했을 경우 한 번은 복구가 가능하다. 예시 특정 프로그램에 버전이 1, 2, 3이 있다고 가정하자. (3이 최신버전) git reset --hard HEAD~1 위 코드를 통해 버전 2로 되돌리기(reset)가 가능하다. 하지만 reset에 실수가 있었다는 것을 깨닫고 버전 3으로 복구하고 싶으면 아래 코드를 실행하면 된다. git reset --hard ORIG_HEAD 마무리 코드가 유실될 수 있으므로 reset --hard 옵션 되돌리기는 사용을 지양하자.
문제 Windows 운영체제에서는 line ending으로 CR(Carriage - Return , \r)과 LF(Line Feed, \n)을 사용하고 Unix, MAC OS는 LF(Line Feed, \n)만 사용한다. 이 때문에 소스 변경이 없는데도 소스의 CR/LF 때문에 변경으로 인식하여 commit이 되버릴 수 있으며 merge 마다 문제가 생길 수 있다. 이 문제를 해결하기 위해 crlf 처리 방법을 통일해야 한다. autocrlf 통일 Window의 경우 저장소에서 가져올 때 LF을 crlf으로 변경하고 저장소에 보낼때는 crlf을 LF으로 변경하도록 true로 설정한다. git config --global core.autocrlf true Linux, MAC OS lf만 사용하므로 inpu..

개발하다보면 현재 작성한 코드에 오류가 있어 과거 버전으로 돌아가야하는 경우가 있다. 이때 현재 프로젝트를 과거 버전으로 돌리는 명령어가 두 가지가 있다. 그것이 바로 revert과 reset이다. 1. Revert - 특정 commit을 취소하는 새로운 commit을 만들어 적용함 - 이미 저장소에 push 한 commit을 취소할 때 - 혹은 History 중간의 특정 commit만 취소할 때 git revert : git revert .. 2. Reset - 과거의 특정 commit이 저장소의 최신 commit이 되도록 HEAD를 변경 - 주로 아직 push 하지 않은 commit을 취소할 때 사용 - git reset : 해당 commit으로 상태를 되돌린다. git reset에는 soft, mi..

Branch 병합의 종류 1. fast-forward merge 2. 3-way merge 기초 지식 위 두 가지 병합 방법을 이해하기 위해서는 다음을 알아합니다. 1. Commit들은 이전 commit (부모 commit)을 가리키며 저장됨 2. Branch 는 branch에 담긴 commit들 중 가장 마지막 commit을 가리키는 포인터 3. HEAD는 현재 branch를 가리키는 포인터 ls -al bash 명령어를 통해 볼 수 있는 .git 디렉토리 내부에 모든 commit 기록이 저장됩니다. 1. fast-foward merge ( Shell ) git branch testing : 현재 branch가 가리키고 있는 commit을 가리키는 testing이라는 branch를 만든다. ( Shel..