11월, 2019의 게시물 표시

이미 git commit 한 내용 제거 (commit 제거가 아닌 patch 제거)

이미 commit 한 내용이 시간이 지난 후라서 많이 쌓여있고 이 내용을 제거하고자 하지만 로그도 남기고 싶을 경우 다음과 같이 진행합니다. (뭔가 git으로 심플하게 하는 방법이 있을것 같지만 일단 이렇게 해도 심플합니다.) 1 2 3 4 5 # git show로 수정사항을 따냄 $ git show <commit> > diff # patch에 -R 옵션을 주어 역으로 패치를 제거 $ patch -p1 -R < diff 제거한 내용을 확인 후 필요에 따라 commit 하면 되겠습니다. 참쉽죠?

Bit field 예제

임베디드 개발하는데 필수적으로 레지스터 건드릴때 쓰는 bit field입니다. 어렵게 글로 설명하는 것보다 그림과 코드를 보는게 낫겠습니다. [A:6][B:4][C:6][D:16] 숫자는 bit이고 총 합이 32bits 인 데이터가 있습니다. typedef union { struct { unsigned int A : 6 ; /* [0:5] */ unsigned int B : 4 ; /* [6:9] */ unsigned int C : 6 ; /* [10:15] */ unsigned int D : 16 ; /* [16:31] */ } bits; unsigned int value; } Register; Union의 개념만 익숙하다면 너무 쉽네요. [A:6][B:4][C:6][D:16] = [value:32]

이 블로그의 인기 게시물

WSL2 Ubuntu 20.04 및 네트워크 설정

git pull 을 했더니 branch가 갈라지는 경우

리눅스 멀티코어를 사용하는 tar 압축/해제