본문 바로가기

개발 회고

[솔데스크] 풀스택 과정 16주-3 총70회차 ‘회고’ | GIT(0320)

[서론]

○● 0320 새로웠던 것

1. vscode에서 github연동해서 구름아이콘 누르면 아예 새로운 레포지토리를 만들어줌

2. 특정 커밋으로 checkout하면 브랜치 이름이 커밋 id로 변함

3. 지금 NAVER 블로그 검색 API 사용해보려고 하고 있는데 400, 500, 024 에러가 주로 뜸

아래는 네이버 디벨로퍼스에 있는 오류코드 내용

HTTP 응답 코드 

오류의 성격에 따라 400번대 혹은 500번대 오류 코드가 HTTP 응답 코드로 반환됩니다.

오류 메시지 

오류 메시지는 XML 형식이나 JSON 형식으로 반환됩니다. 오류 메시지는 오류의 내용을 담고 있는 errorMessage 요소와 오류 코드를 담고 있는 errorCode 요소로 구성됩니다.

translate.xml과 같이 API 이름에 확장자인 .xml이 있는 API만 XML 형식의 오류 메시지를 반환합니다. 그 외의 API는 JSON 형식의 오류 메시지를 반환합니다.

다음은 XML 형식의 오류 메시지 예입니다.

xml version="1.0" encoding="UTF-8"?>
 <result>
     <errorMessage></errorMessage>
     <errorCode></errorCode>
 </result>

다음은 JSON 형식의 오류 메시지 예입니다.

{
    "errorMessage": "Authentication failed (인증에 실패하였습니다.)",
    "errorCode": "024"
}

 

 

[본론]

○● 0320 내용 정리

 

   GIT

 

  git rebase

 

Git에서 Rebase는 한 브랜치의 변경 내용을 다른 브랜치로 이동시키는 기능을 말합니다. 

일반적으로 다른 브랜치에서 작업한 내용을 현재 브랜치로 가져오거나, 여러 개의 브랜치를 병합하는 경우에 사용합니다.

Rebase를 실행하면, 이전 브랜치에서의 변경 내용이 현재 브랜치의 가장 최근 상태와 합쳐지며, 
커밋 히스토리가 새롭게 생성됩니다.

Rebase는 기존 커밋을 새로운 커밋으로 대체하므로, 이전 커밋이 새로운 커밋으로 대체되는 것을 확인할 수 있습니다.

Rebase는 병합(Merge)과 비교하여 커밋 히스토리가 더 깨끗하게 유지됩니다. 
하지만, 다른 개발자들과 함께 작업하는 경우, Rebase를 사용하면 공동 작업한 코드에 대한 
충돌이 발생할 수 있으므로 주의해야 합니다.

rule. git rebase <합칠 대상 브랜치>
x1 x2 x3

 

++ chatGPT가 말하는 git rebase

 

Git에서 git rebase는 기존의 커밋 히스토리를 변경하거나 다른 브랜치의 변경 사항을 현재 브랜치로 이동시키는 명령입니다. 주로 브랜치를 깔끔하게 유지하거나 커밋 히스토리를 정리하고자 할 때 사용됩니다.

git rebase를 사용하면 주로 두 가지 작업을 수행합니다:

  1. 브랜치의 기준점 변경: 다른 브랜치에서의 변경 사항을 현재 브랜치의 기준점으로 가져와서 현재 브랜치에 합칩니다. 이렇게 하면 브랜치의 이력이 간결해지고 깔끔해집니다.
  2. 커밋 히스토리 재정렬: 커밋 히스토리를 변경하여 보다 깔끔하고 의미 있는 구조로 만들 수 있습니다. 예를 들어, 여러 개의 작은 커밋을 하나의 큰 커밋으로 합치거나, 커밋 순서를 변경할 수 있습니다.


🐇n🐇 . master 브랜치  상태
. cat 브랜치 만듬
. 마스터 브랜치에서 변경사항 만들고 커밋하기
. cat 에서 커밋1 함
. cat 에서 커밋2 함
. master로 체크아웃
. git rebase cat 하기 이건 마스터가 커밋한거고
. 이러고 나서 소스트리 확인하기 << 노선이 합쳐진걸 확인 할 수 있음
<< rebase 를 안하고 merge를 해버리면
머지 커밋이 남게되고 소스트리로 볼 때 노선이 2개로 표시됨

과거 커밋 흐름이 통일 된다는건 보기 좋게 바꾼다는 점에서는 장점이지만
과거를 브랜치 흐름(머지 등) 을 바꿔버렸다는 점에서 위험한 작업이긴 함.


커밋0 > 커밋1 > 커밋2 이렇게 나옴
이거 이거
이 둘은 cat 이 커밋한거
근데 리베이스하면 순서대로 마스터에 차례차례 커밋한것 처럼 되는 것임

a, b 브랜치를 리베이스 하면 둘의 커밋 기록이 합쳐짐
a, b 브랜치를 머지하면 둘의 커밋 기록은 그대로 유지됨
rebase 나 머지를 한다고 한쪽 브랜치가 사라지진 않음.

 

비쥬얼 스튜디오 코드에 깃,깃허브 연동하는 법
케이스-1. 로컬에 리파짓 만들고 깃헙에 올리기 깃만 설치한 상태, 깃 계정 이름, 이메일은 설정해준 상태
깃헙 빈 리파짓 하나 만들어 두기
vsc 준비 새시작
메뉴-파일-작업영역에 폴더 추가 << 원하시는 폴더 작업영역 지정하기

해당 폴더를 git init 하기 ( vsc 가 해줌 )
탐색기에서 이 작업 폴더 선택 한 상태-왼쪽 큰 아이콘 메뉴-소스제어
<< 맨처음에는 아래 리파지토리 초기화 버튼이 나옴. 
( 한번 세팅 하고 난 이후 부터는 안나옴. 그래서 일단은 그냥 깃배시 가서 따로 해당 폴더 git init 하세용 )
리파지토리 초기화-대상 폴더 선택 (상단 중앙에 폴더 리스트가 나옴. 만든 폴더로 고르기. 여기가 git init 되는 것임)

변경사항 만들기 ( 파일 추가 등 )
보기편하게 탐색기로 돌아와서
새폴더 나 새파일 추가하기
커밋하기
왼쪽메뉴-소스제어-리파짓폴더이름-변경사항
<< + 눌러서 스테이징된 변경사항에 올리기도 해보고

바로 위에 있는 커밋란에 메세지 쓰고 커밋하기

깃 배시 가서 로그 찍어보기 커밋 잘 됐는지 확인

원격 추가 왼쪽메뉴-소스제어-소스제어 리포지토리-...(점점점메뉴)- 원격-원격 추가-깃헙에서 원격 추가
왼쪽메뉴-소스제어-소스제어 리포지토리
<< 소스제어 리포지토리 메뉴 안보이면 우상단 ... 눌러서 소스제어 리포지토리 체크 할 것
-구름모양 클릭-
하면 팝업-확장 깃헙 깃헙을 사용하 로그인하려고 합니다.
url 이런 페이지가 브라우저에 자동으로 열리고
Authorize Visual-Studio-Code 녹색 버튼을 눌러 인증 진행
계정 암호 입력하고
vsc 쪽에 뜬 팝업 (확장으로uri를 열수 있도록 허용하시겠습니까?) 에서 체크하고 열기버튼 클릭.

상단에 리파짓 목록 중에 올릴 곳 선택하면
직접입력 창
Publish to GitHub private repository
Publish to GitHub public repository << 이걸로 선택하면 ...
알아서 내 깃헙 계정에 현재 폴더명으로 된 공개 리파짓을 생성하고 
맘데로 푸시까지 해버림.

원격 이름을 제공하라고 바로 그자리에 뜨는데 여기다가 원격지 이름 넣어주면 
(국룰: origin , 나: o ) 일단 원격 추가는 끝.
푸시 왼쪽메뉴-소스제어-소스제어 리포지토리-...(점점점메뉴)-푸시 마스터 분기에 원격 분기가 어쩌고-확인-
깃헙 새로고침 후 파일 들어온거 확인

케이스-2. 클론하기 깃만 설치한 상태, 깃 계정 이름, 이메일은 설정해준 상태

깃헙 위 깃허브 리파짓 그대로 이용하겠음
vsc 상_메뉴-도움말-시작 하면 시작 페이지가 열림. 여기서
-git 리파짓 복제 클릭하면 상단에 깃헙에서 복제 고르고
리파짓 고르면
복제할 폴더 지정하고
리파짓 대상으로 지정 버튼 누르고
복제된 리파짓 열겠냐 팝업에서 열기
끝.

사용법 스테이징 따로 스테이징 할 필요는 없음
커밋 과 푸시 좌_소스제어-소스제어-커밋 하고나면 바로
좌_소스제어-소스제어-변경 내용 동기화(푸시 임) 이 바로 바뀐다

 

[결론]

 

* GIT 기초 강의 수강

 

*작업파일

 

 0320

1)   GIT 기초