1. 자꾸 틀려서 찾아본 git commit message 수정하는 법
- 로컬 레파지토리에 있을 경우 (push 이전)
- 가장 마지막에 commit 한 내용을 수정할 수 있다. => git commit --amend
- 그것보다 더 이전 혹은, 한번에 여러 가지를 수정할 때
- git log 를 이용해 모든 commit 내역을 확인한다.
- git rebase -i HEAD~위에서부터 확인하고 싶은 커밋의 개수를 이용해 커밋을 확인한다.
- 수정하고 싶은 커밋의 pick을 reword로 바꾼다. 이후 저장하면, 각각 수정할 수 있는 창을 볼 수 있다.
- 다시 git log 로 수정된 것을 확인하면 끝
- 리모트 레파지토리에 있을 경우 (push 이후)
- 로컬 레파지토리에서 commit message를 위의 방법 을로 수정한 후, git push --force 브랜치 이름
주의! : 이는 보다싶이 강제로 다시 수정하는 방법이므로 만약, 함께 작업하고 있는 경우라면 커밋의 로그가 다 깨진다. 수동으로 맞춰주면 되긴 하나, 팀원들의 원성을 들을 수 있다. 그냥 push 할 때 주의하자... 흑흑
2. Spread Operator
- 선언된 변수( array)의 모든 요소들을 가져온다.
var num = [1, 2, 3];
var newNum = [...num, 4, 5, 6];
console.log(newNum) // [1, 2, 3, 4, 5, 6]
function plusNum(x, y, z) {
console.log(x + y + z)
}
var arr = [0, 1 ,2];
plusNum(...arr); // 3 => 만약 arr 가 [0, 1, 2, 3] 이라면? 마지막 3은 무시된다! plusNum의 인자로 3개 만 받기 때문이다.
- spread는 배열을 '복사' 도 할 수 있다. 마치 slice와 같다. 응용하면, 복제 해 놓고 데이터를 한 곳만 바꿔서 간단하게 수정된 데이터를 얻을 수 도 있다.
- concat으로 합쳐준 배열 2개와 spread를 배열 안에 2개의 배열을 넣는 것은 같은 효과이다.
var arr1 = [1, 2, 3]
var arr2 = [4, 5, 6]
arr1.concat(arr2); // [1, 2, 3, 4, 5, 6]
arr1 = [...arr1, ...arr2] // [1, 2, 3, 4, 5, 6] 물론 두개의 spread 사이에 다른 데이터를 넣어줘도 상관없다.
- 함수를 인자로 받을 때도 사용이 가능하다. map과 함께 사용하면 매우 유용하다.