
$ git config --global user.name "Jay"
$ git config --global user.email jaeheon998795@gmail.com
git 다루는 법을 프리코스에서 알려줬는데 처음에 꼭 해야하는 설정을 왜 지금 알려주는 걸까?
이미 구글링으로 다 해놨던 것들이다.
--global은 단 한번만 해줘도 되는 설정
libarary에 설치하는 것이 아니라 시스템에 설치하기 때문
$ git config --global core.editor nano
nano가 사용하기 편해서 기본 에디터를 nano로 해주었다.
개발은 보통 팀 단위로 이루어지기 때문에 협업은 필수이다. 그래서 서로 추가하고 수정한 코드가 엇갈리고 충돌이 일어나지 않도록 해줘야 수월한 협업이 이루어진다.
보통 코드를 작성하고 터미널을 통해
$ git add <파일이름>
$ git commit -m '메세지' //레파지토리의 비밀번호는 절대 입력하지 말 것! 비밀번호를 입력하는 순간 그 레파지토리의 수명은 끝난다
$ git push origin master // 여기서 origin은 나의 remote repository 이름이고 master는 branch 이름이다
이렇게 수정된 사항을 내 remote repository에 push 한다.
그리고 페어의 레파지토리에서 최신화(pull)을 하고 싶다면 일단 페어의 레파지토리와 연결을 해야한다
$ git remote add pair https://... // <레파지토리 이름> <페어의 레파지토리 주소>
$ git remote -v // 추가된 레파지토리 주소를 확인할 수 있다
페어의 레파지토리 주소를 추가했다면
$ git pull pair master
페어가 페어의 remote repo로 push한 데이터를 내가 받아올 수 있게 된다.
pull을 해서 땡겨올 경우 같은 파일 같은 줄에 다른 변경사항이 있다면 충돌이 일어날 수 있다.
위의 코드가 내가 작성한 코드
밑의 코드가 페어가 작성한 코드
상황에 따라 위만 아래만 남길 수 있고 둘다 남길 수도 있다.
나는 페어와 같이 이 스프린트를 진행할 때 오히려 충돌이 일어나지 않고 자동으로 바뀌어서 당황스러웠다.
구글링을 해보니

출처: https://mobicon.tistory.com/162
두 명 이상의 개발자가 push를 하고 pull했을 때 충돌이 일어난다. 나와 페어는 한 명만 push하고 pull했기 때문에 충돌이 일어나지 않고 auto merge가 되었다.
branch를 만드는 이유를 나름대로 생각해봤는데 롤이라는 게임은 매주 밸런스 패치를 한다. 밸런스 패치를 하기 위해 master branch에서 새로운 balance branch를 만들고 그 안에서 조정이 필요한 챔피언을 수정하고 테스트를 돌려보고 오류가 나지 않으면 master branch에 merge하는 것 아닐까? 결국 master의 오류를 방지하고 큰 줄기가 망가지는 것을 방지하는 한 방법이라고 생각한다.
$ git branch balance // balance branch 생성
$ git checkout balance // balance branch로 이동
$ git checkout -b balance // balance branch를 생성하면서 이동
이렇게 branch를 생성할 수 있고 앞서 했듯이 add, commit을 거친 뒤
$ git checkout master // master branch로 이동
$ git merge balance // balance branch를 master branch와 병합
balance branch에서 작업한 내용을 master branch로 가져 올 수 있다.
$ brew list | grep // 찾고 싶은 내용 찾기
'조건이 맍지 않는 경우', '-1', 'undefind', ...etc
이러한 경우를 빨리 return해주고 뒤에 로직을 구현시키는 방법
그러면 조건이 맞지 않는 경우 빨리 리턴하고 함수를 종료시킬 수 있어 뒤에 있는 로직을 돌릴 필요가 없다.
항상 이름 없는 함수(Anonymoyus)
function, return, {} 생략가능
두 줄 이상 작성시 return, {}사용
함수 전체를 소괄호()로 감싸주면 바로 실행이 됨
(function add(a, b) {
return a + b;
})