Git

sinjuk1·2024년 7월 15일

git

  • secret gist를 만들고 로컬 레포지토리에 clone 후 파일을 수정했다.
    commit 까지는 잘 되고 push 하려고 하니까 다음과 같은 에러 메시지가 나타났다.

  • 해결 방법

    • github에서 private access token을 발급
    • git remote remove origin으로 기존 origin 삭제
    • git remote add origin https://토큰키@gist.github.com/gist파일경로

이후 git push 가능

secret gist여서 clone까지는 가능해도 push에서 문제가 생기는 것 같다.

정수형을 지원하는 경우와 문자열로 타입이 바뀌는 경우의 차이점.

정수형을 지원하는 경우:

  • 메모리 사용: 정수형은 고정된 크기의 메모리를 사용하므로 메모리 관리가 간단합니다.
  • 성능: 정수형 연산은 일반적으로 빠르며, 하드웨어적으로 최적화된 경우가 많습니다.
  • 유효성 검증: 정수형의 범위 내에서 유효성을 쉽게 검증할 수 있습니다.

문자열로 타입이 바뀌는 경우:

  • 연산 복잡성: 문자열은 숫자로 변환해야 연산이 가능하며, 이는 추가적인 작업을 필요로 합니다.
  • 오류 처리: 숫자가 아닌 값이 들어올 가능성이 있어, 이를 검증하고 처리해야 합니다.
  • 메모리 사용: 문자열은 길이에 따라 메모리 사용량이 달라지며, 추가적인 메모리 관리가 필요합니다.
  • 성능: 문자열을 숫자로 변환하는 작업이 추가되므로 연산 성능이 저하될 수 있습니다.
  • 유연성: 다양한 형식을 유연하게 다룰 수 있으나, 그만큼 처리해야 할 예외가 많아집니다.

함수를 여러 개로 분리해서 만드는 기준.

  • 10줄을 넘어가거나 들여쓰기가 3depth가 된다면 함수로 분리했습니다.
  • 너무 잘게 쪼개면 가독성이 떨어질 것 같아서 같은 관심사를 갖는 것들끼리 함수로 묶었습니다.

GitHub 저장소에 Pull Request 보내기 위한 과정에서 사용하는 git 명령과 명령별 옵션을 확인해 본다.

Git 명령어 및 옵션:

  • git clone : 저장소를 로컬로 복사합니다.
  • git checkout -b : 새로운 브랜치를 생성하고 이동합니다.
  • git add : 변경된 파일을 스테이징 영역에 추가합니다.
  • git commit -m "commit message": 스테이징 영역에 있는 변경 사항을 커밋합니다.
  • git push origin : 로컬 브랜치를 원격 저장소에 푸시합니다.
  • GitHub 웹 인터페이스: 푸시된 브랜치를 기반으로 Pull Request를 생성합니다.

git 주소를 가져와서 commit하고 push할 때까지 흐름에 대해서 각자 이해한 내용을 설명하고 다른 사람 설명과 차이점이 있는지 비교한다.

  • git clone : 원격 저장소를 로컬로 클론합니다.
  • git checkout -b : 작업을 위한 새로운 브랜치를 생성하고 이동합니다.
  • 작업 및 변경: 코드 수정 및 기능 추가 작업을 수행합니다.
  • git add : 변경된 파일을 스테이징 영역에 추가합니다.
  • git commit -m "commit message": 스테이징 영역의 변경 사항을 커밋합니다.
  • git push origin : 로컬 브랜치를 원격 저장소에 푸시합니다.
  • GitHub 웹 인터페이스: Pull Request를 생성하여 코드 리뷰를 요청합니다.

git add와 commit을 할때 git 내부에서는 어떤 동작이 일어나는 것인지 자료를 찾아 학습하고 이를 비교해서 정리한다.

  • git add 동작:

    • 스테이징 영역에 추가: 변경된 파일을 인덱스(스테이징 영역)에 추가합니다.
    • 인덱스 업데이트: 파일의 스냅샷을 인덱스에 저장하여 이후 커밋 시 이 스냅샷을 사용하도록 준비합니다.
  • git commit 동작:

    • 스냅샷 생성: 인덱스에 저장된 파일 스냅샷을 기반으로 새로운 커밋 객체를 생성합니다.
    • 메타데이터 저장: 커밋 메시지, 저자 정보, 부모 커밋 등의 메타데이터를 포함합니다.
    • 브랜치 업데이트: 현재 브랜치가 새로운 커밋을 가리키도록 업데이트합니다.

VSCode 와 터미널에서 실행 환경이 같은 점과 다른 점을 비교해서 정리한다.

  • 같은 점:
    • 명령 실행: VSCode의 터미널과 독립적인 터미널 모두 동일한 명령어를 실행할 수 있습니다.
    • 환경 설정: 동일한 환경 변수를 사용하며, 동일한 쉘 환경을 제공합니다.
  • 다른 점:
    • 통합 개발 환경: VSCode 터미널은 코드 편집기와 통합되어 있어, 코드 작성과 실행을 한 화면에서 할 수 있습니다.
    • 확장 기능: VSCode는 다양한 확장 기능을 통해 터미널 작업을 지원합니다.
    • 사용 편의성: VSCode 터미널은 그래픽 인터페이스와 통합되어 있어, 마우스 사용이 용이하고 파일 탐색이 쉽습니다.
    • 독립성: 독립적인 터미널은 VSCode와 무관하게 동작하므로, 별도의 창에서 작업을 수행할 수 있습니다.
  • 터미널 환경에서 해당 프로젝트를 직접 빌드하는 방법도 찾아본다.
    • 프로젝트 디렉토리로 이동
    • npm, yarn, pnpm 등 의존성 설치
    • 빌드 명령 실행
profile
함께 성장하는 것을 지향합니다.

0개의 댓글