23/10/24

Laejun Kim·2023년 10월 24일
1

TIL

목록 보기
21/89
post-thumbnail

Git & GitHub

명령어들

  • 브랜치 만들기
    git branch 브랜치명

  • 제대로 만들었는지 확인하기
    git branch (여기서 초록색으로 된게 내가 위치한 브랜치, 흰색이 만들어진 브랜치) -> q 누르면 브랜치 목록에서 빠져나올 수 있음

  • 브랜치 이동
    git switch 브랜치명 or git checkout 브랜치명(git switch가 최신 문법이다. 둘중 뭘 쓰든 상관은 없다)

  • 브랜치 한번에 생성&이동
    git switch -c 브랜치명 or git checkout -b 브랜치명(-c,-b 이게 새로 생성하라는 명령어 create, branch 의 약자다)

브랜치에서 수정을 했다 치자. 그다음엔

  • git add .

  • git commit -m "comment"

브랜치에서 작업한걸 main에 어떻게 합치지?

  • 우선 main 브랜치로 이동후 git merge 작업브랜치명

  • 근데 사실 직접 터미널에서 git merge 쓸 일은 없다. 깃헙에서 pull request를 이용할 것이기 때문!

  • merge 전으로 돌아가기
    git log로 커밋 코드 확인하고 git reset --hard 커밋코드

pull request

  • add commit 까지 하고 git push 작업브랜치명 으로 push까지 했다고 치자. 그럼 이제 github에서 compare & pull request 를 할 수 있게 된다.

  • open a pull request 창에서 어디서 어디로 합칠지도 다 설정하 수 있다.

  • 메인에 성공적으로 merge 한 뒤에는 로컬에 받아오는것도 잊지 말것! git pull origin main

develop branch

  • 메인과 작업 브랜치 사이에 develop 브랜치를 두는 것은 좋은 생각이다.

  • 메인에 바로 합쳤다가 const 변수명이 겹칠수도 있고 버그 수정하는데 더 오래 걸릴 수도 있기 때문.

  • dev 브랜치를 쓰는 경우 해당 브랜치를 default(base) 브랜치로 설정 해 두는 것이 좋다. 실수할 확률이 줄어든다.

연습문제 풀이

1트에 안풀린 문제들

단축 속성명을 이용한 객체 생성

// [요구사항]
// 아래의 변수들을 사용하여 단축 속성명을 이용한 객체를 생성하세요.

// [코드]
let a = "hello";
let b = "world";
// 여기에 코드를 작성하세요.
const obj = { ... ?????? }

// [테스트]
// 생성된 객체의 a 속성의 값이 "hello"이고, b 속성의 값이 "world"인지 확인하세요.
  • 어떻게 하는건지 감도 안잡혔는데 그냥 a, b를 { } 안에 넣어봤더니 되었다.
const obj = { a, b };
console.log(obj); // 출력 : { a: 'hello', b: 'world' }

이렇게만 해주면 된다.

이게 되나? 싶어서 해봤는데 될때가 가장 기쁘다 !!!

break continue 쓰기

// [요구사항]
// 다음 문자열 배열에서 'stop' 문자를 만났을 때 반복을 중지하고, 'skip' 문자를 만났을 때 해당 반복을 건너뛰고 나머지 문자열들을 출력하세요.

// [코드]
let words = ["apple", "banana", "skip", "cherry", "stop", "date", "elephant"];
// 여기에 코드를 작성하세요.
for (const el of words) {
  
  console.log(el);
  break
}
// [테스트]
// 출력: apple, banana, cherry
  • break, continue 쓰는게 아직 익숙하지 않다... 나름대로 통과가 되는 코드를 적긴 했는데 이렇게 쓰는게 맞는지 확신이 없다.

내 답안

let words = ["apple", "banana", "skip", "cherry", "stop", "date", "elephant"];
// 여기에 코드를 작성하세요.
for (const el of words) {
  if (el === "stop") break;
  if (el === "skip") continue;
  console.log(el);
}

나중에 더 잘하는 사람에게 이 코드 검증 받고 수정할 부분이 있으면 수정할 것!


[follow up 10/25]
break, continue 를 if문과 함께 쓰는것은 문제가 없다. 다만 if 문 다음에 오는 중괄호를 생략해놔서 보기에 좀 어색하게 느껴질수도 있는것.

또한 continue가 break 윗줄에 오면 성능적으로 유리할수 있다.


personal remark

개인 과제가 끝나자마자 팀 과제 시작이다.
역시 이번에도 엄청 어려워보이는데 그래도 큰 틀 자체는 개인 과제에서 해봤던 것과 비슷해서 조금은 위안이 된다.

이번에도 모르는걸 잔뜩 억지로 해보고 그 과정에서 많이 많이 배울 수 있으면 좋겠다!

0개의 댓글