Git&Github

· Git&Github
작업을 마치고 원격 저장소에 push를 했는데 Compare & Pull Request 버튼이 안보였다. 이 버튼이 떠야 PR을 날릴 수 있는데 당황스러웠다. 버튼이 뜨지 않은 이유는 간단했다. 예전에 A 브랜치에서 작업하고 이 작업물을 main에 merge 했었다. 이후 A 브랜치에서 작업물을 이어서 해야하는 경우가 있어서 새로 브랜치를 생성하지 않고 이어서 진행했다.  이런 경우 (A 브랜치가 이미 main에 병합된 상태에서 A 브랜치에서 작업을 계속하는 경우), GitHub은 해당 브랜치와 main 브랜치 간의 차이가 없다고 판단할 수 있다. 따라서 Pull Request를 생성할 필요가 없다고 인식하게 되어 Compare & Pull Request 버튼이 나타나지 않을 수 있다. 이런 경우 New..
· Git&Github
A 브랜치에서 B 브랜치로 넘어갔는데 A 브랜치의 내역이 B 브랜치에 적용되고 A 브랜치의 내역이 삭제되는 문제가 발생했다. 이러한 문제는 가끔 VSCode에서 브랜치 토글이 제대로 되지 않을 때 발생하는데, 해결방법은 아래와 같다. 1. VSCode 강제 종료 및 재실행VSCode 강제 종료: 현재 열려 있는 VSCode를 강제 종료한다.VSCode 재실행: VSCode를 다시 실행한다.대부분의 경우 VSCode를 종료하고 재실행하면 문제가 해결된다. 2. . git/HEAD.lock 파일 삭제 강제 종료 후 VSCode를 다시 열었음에도 불구하고 문제가 지속된다면 아래의 방법을 사용하면 된다. 1.Git Clean 커맨드 실행 우선 작업중인 디렉터리의 불필요한 폴더와 파일을 제거한다.git clean..
· Git&Github
스터디 공부한거 정리하려고 커밋했는데 There was an error committing your changes: File could not be edited.이 뜨면서 커밋이 안된다. 몇 시간 전부터 안됐는데 아직도 그러네..
· Git&Github
원격(remote) 브랜치인 uptream/feature 를 추적(track) 하는 새로운 브랜치를 생성하는 방법은 다음과 같다.git checkout --track -b feature origin/featuregit checkout -t upstream/feature 1. git checkout --track -b feature origin/feature : 새로운 로컬 브랜치 feature를 생성하고 origin/feature를 추적하는 명령어이다.2. git checkout -t upstream/feature : upstream/feature를 추적하는 동일한 이름의 로컬 브랜치를 자동으로 생성하는 명령어이다. 만약 로컬 브랜치에서 원격 브랜치의 이름과 해당 브랜치의 내용을 동일하게 로컬 브랜치로 ..
· Git&Github
팀 프로젝트 초기 세팅 하다가 새롭게 알게 된 부분이 있어 정리해보려 한다. CRA로 프로젝트를 생성하면 로컬에 자동으로 README.md 가 생성된다.나는 로컬에서 작업을 완료한 뒤 깃허브에서 repo를 생성하고 둘을 연결하기 위해 git pull origin main --allow-unrelated-histories 를 했는데 pull 이 정상적으로 되지 않고, 소스 컨트롤 메세지에 Merge branch 'main' of ~ 뜨면서 README.md 파일을 merge하라고 떴다. 이유를 알아보니, 다음과 같은 이유에서 merge를 해야했었다.git pull origin main --allow-unrelated-histories 명령은 로컬 브랜치와 원격 브랜치 간의 병합을 수행한다.이때 --allo..
· Git&Github
1. git stash --include-untrackedgit 에서 stash 시 새 파일과 같은 untracked file은 stash에 포함해 주려면 따로 명령어를 추가해 줘야 한다.git stash --include-untracked  위 명령어를 사용해서 stash를 추가한 후 나중에 적용해주려면 git stash list 위 코드를 작성해서 stash들의 list를 확인해야 한다. 위 코드를 작성하면 아래와 같은 stash를 볼 수 있다.  stash@{0}: WIP on ... wip: ... 이후 git stash apply stash@{0}로 신규 파일이 들어있는 stash를 적용시켜주면 된다.    2. 에러해결나의 경우  git stash apply stash@{0}를 쳤더니 아래와 ..
· Git&Github
Git이 인식하는 파일의 상태는 총 네 가지가 있다.이번 포스팅에서는 Git 파일의 네 가지 상태에 대해 정리해보려 한다. 먼저 Git에서 관리하는 파일은 크게 Untracked와 Tracked 두 가지로 나눌 수 있다. 1. Untracked는 Git에서 추적되지 않고 있는 파일이라는 의미이고, 생성 후 한 번도 git add 해주지 않은 상태의 파일을 가리킨다. 2. Tracked 파일은 Git에서 추적하고 있는 파일인데, 이것은 다시 Unmodifed, Modifed, Staged 이렇게 세 가지 상태로 나뉜다. 아래에서 각각의 상태에 대해 알아보자. Untracked- Git에서 추적하고 있지 않은 파일- 생성 후 한 번도 git add 한 적이 없는 파일TrackedUnmodifed- Commi..
· 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..
· 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을 한 상태여야한다는 점이다.
Rynn
'Git&Github' 카테고리의 글 목록