Git

2주차 위클리 페이퍼 쓴게 엊그제 같은데 벌써 3주차라니..!! 시간 넘 빠르다.. 이번주차에는 Git과 인터렉티브 자바스크립트 챕터를 들었다. 특히 Git을 배우면서 여러 커맨드를 실습해봤는데, 검은 바탕에 흰글씨가 좀 익숙해졌달까..?ㅋㅋㅋ 유용한 명령어들도 배울 수 있어서 좋았다. 이번주 위클리 페이퍼 미션은 다음과 같다. Git에서 branch merge 방법들과 각 방법의 특징을 설명해 주세요. Git Flow 브랜치 전략에 대해 설명해 주세요. 1. Git에서 branch merge 방법들과 각 방법의 특징을 설명해 주세요. Git에서 브랜치를 병합하는 방법은 크게 세 가지가 있다. merge commit을 만들며 합치기 Squash and merge 하기 Rebase and merge 하기 ..
1. PR(Pull Request)를 close할 시, 브랜치가 존재한다면 다시 open 상태로 되돌릴 수 있다. (O, X) 답: o 2. PR을 작게 만드는 원칙을 2가지 이상 말해주세요. 답: 한 번에 많은 변경 사항을 포함하는 대신, 각각의 PR이 한 가지 작은 기능이나 에러를 나타내는 PR 올리기 코드 리뷰의 효율성을 높이기 위해서 PR 생성시 코드 길이를 제한하기 (ex, 1개의 PR은 1000 Line을 넘을 수 없다) 3. 좋은 커밋이란 무엇인지 2가지 이상 말해주세요. 답: 한 커밋에 한 가지 변경 사항만이 포함 된 커밋 (작고 의미있는 단위의 커밋) 명확하고 간결한 커밋 메세지가 작성된 커밋 4. 일반적인 Git의 작업 흐름에 대해서 말해주세요. 답: 새로운 기능 또는 버그 수정을 위해..
1. GitHub에서 두개의 브랜치를 머지하는 총 3가지 방법 중 하나로, 현재 브랜치를 target 브랜치에 재위치 시킨 후 병합하는 방식은 무엇인가?(cf) 커밋 히스토리는 선형적으로 유지됨) 답: rebase and merge 2. 리뷰를 제출할 때 작업이 되는 브랜치가 Branch protection rule로 설정되어 있을 때, 코드 작성자는 Approve를 받지 못하면 브랜치에 머지하지 못한다(O,X) 답: O 3. 로컬 레포지토리의 내용을 맨 처음 리모트 레포지토리에 보낼 때, git push --set-( ) origin master 라고 쓰고 실행해야 한다. 이 때 괄호 안에 들어갈 단어는? 답: upstream 4. Git의 스택 영역에 저장했던 작업 내용들 중 가장 최근의 것을 wor..
· Git&Github
Git이 인식하는 파일의 상태는 총 네 가지가 있다.이번 포스팅에서는 Git 파일의 네 가지 상태에 대해 정리해보려 한다. 먼저 Git에서 관리하는 파일은 크게 Untracked와 Tracked 두 가지로 나눌 수 있다. 1. Untracked는 Git에서 추적되지 않고 있는 파일이라는 의미이고, 생성 후 한 번도 git add 해주지 않은 상태의 파일을 가리킨다. 2. Tracked 파일은 Git에서 추적하고 있는 파일인데, 이것은 다시 Unmodifed, Modifed, Staged 이렇게 세 가지 상태로 나뉜다. 아래에서 각각의 상태에 대해 알아보자. Untracked- Git에서 추적하고 있지 않은 파일- 생성 후 한 번도 git add 한 적이 없는 파일TrackedUnmodifed- Commi..
1. 다음중, git branch 와 git checkout 의 동작을 하나의 명령어로 축약 가능한 것은? ㄱ. git branch -C ㄴ. git branch --switch ㄷ. git checkout -B ㄹ. git checkout --create 답: ㄷ 2. 다음중, merge 도중 발생한 conflict 을 해결할 때, 올바른 처리 방법이 아닌 것은? ㄱ git add . git commit ㄴ git merge --force ㄷ git merge --abort 답: ㄴ 해설: ㄴ. git merge --force 명령어는 merge를 강제로 수행하게 하는 옵션이다. 이는 충돌을 발생시킨 변경 사항을 무시하고 강제로 병합을 시도하기 때문에 충돌을 해결하는 올바른 방법이 아니다. +) ㄱ. ..
· Git&Github
오늘은 git reset과 git revert를 사용하는 경우와 각각의 차이에 대해 알아보려 한다. git을 사용하다보면 롤백을 해야 할 때, 커밋을 취소하고 싶을 때 등등 다양한 상황이 발생한다. 이럴때 사용하는 git 명령어인 reset, revert의 개념에 대해 알아보자. 1. git reset: 커밋 취소 git reset [옵션] [커밋 아이디] git reset은 대표적으로 커밋을 취소하는 옵션이다. 옵션은 soft, mixed, hard 3가지가 있고 옵션에 따라 디테일한 설정이 가능하다. 옵션은 아래와 같다. (1) git --soft: HEAD가 특정 커밋을 가리키도록 이동시킨다. (2) git --mixed: staging area도 특정 커밋처럼 리셋한다. (3) git --hard..
1. git init에 대해서 설명하시오. 답: 새로운 Git 저장소 (repository)를 생성할 때 사용하는 Git 명령어이다. 이 명령어를 사용하면 현재 디렉토리나 특정 디렉토리를 Git 저장소로 만들 수 있다. 따라서 파일이 추가되거나 삭제 될 때 변경되는 내용을 감지 할 수 있다. 2. 아래 이미지에서 git commit를 사용했을 때 오류가 나온 이유를 설명하시오 답: 커밋을 하기 전에 작업한 디렉토리의 변경사항을 스테이징 영역에 추가해야 하는데 그렇지 않아서 발생한 에러이다. git commit 전에 git add 명령어로 작업물을 스테이징 영역에 추가해야 한다. 3. 특정 커맨드의 사용법이 궁금할때 사용할수 있는 코드를 설명하시오 답: --help 해설: --help 옵션을 사용하면 해당..
· Git&Github
오늘 Git 강의를 듣고 난 뒤 git fetch의 기능을 알게 되었다. 지금까지 git pull만 사용했는데 git fetch도 Git에서 중요한 명령어 중 하나인 것 같아 정리해보려 한다.  1. git pull과 git fetch의 차이점1. git pull리모트 레포지토리의 브랜치를 검토할 필요없이 바로 합치고 싶을 때 사용 2. git fetch1) 리모트 레포지토리에서 가져온 브랜치의 내용을 머지하기 전에 점검해야 할 필요가 있을 때,2) 리모트 레포지토리에 있는 브랜치의 내용과 내가 작성한 코드를 비교해서 잘못된 부분이 없는지 검토해야 할 때 사용 한 마디로 정리하면 git pull은 git fetch에 merge까지 해주는 커맨드이고 git fetch는 내용을 가져오기만 하고 merge는 ..
· Git&Github
깃의 서로 다른 브랜치를 병합하고 싶을 때가 있다. 이럴 때에는 merge를 하고 싶은 브랜치로 간뒤 git merge "해당 브랜치" 를 적어준다. 예를 들어 master 브랜치에 dev 브랜치에서 커밋한 내용을 merge 하고 싶다면 master 브랜치로 git checkout 명령어를 통해 이동 한 뒤 아래와 같이 git merge 명령어를 실행하면 된다. - dev 브랜치의 변경 내역이 master 브랜치로 병합 git checkout master git merge dev 이때 중요한점은 dev 브랜치가 commit을 한 상태여야한다는 점이다.
· Git&Github
오늘은 깃에서 병합하는 방법들 중에 fast-forward와 3 way merge 방식에 대해서 공부하려고 한다. GIT에서 사용되는 병합 방법 2가지 1. fast-forward branch간의 병합을 진행할 때 커밋이 생기지 않고 merge 명령어를 실행하는 브랜치의 Head Commit이 병합되는 branch의 Head commit으로 이동되는 방식이다. 어떤 경우에서 사용될까? 서로 다른 브랜치의 base commit에 내용이 변경되지 않았을 때 사용된다. 이는 base commit이 커밋을 하지 않은 것과 동일한 의미를 갖는다. 직관적으로 예로 들자면, main branch에서 새로운 브랜치 하나를 생성 한 후에 main branch는 더이상 커밋하지 않고, 생성된 브랜치에서만 커밋을 하는 경우..
Rynn
'Git' 태그의 글 목록