git 4

git (5) - 임시로 이력을 저장하자 (stash)

git을 이용하여 기존 작업을 하면서 여러 개의 브랜치를 왔다 갔다 하다 보면 파일이 overwritten 되었다는 오류가 발생합니다.error: Your local changes to the following files would be overwritten by checkout이런 경우에 commit을 하여 이력을 생성하거나 stash를 이용하여 임시로 이력을 저장해야 합니다. 임시로 파일 이력을 저장한다면 해당 오류를 해결할 수 있습니다. git stashgit stashgit stash는 파일의 변경 이력을 임시로 저장하는 명령어입니다. 개발하던중 다른 브랜치에 있는 버그를 고쳐야 하는 경우와 같이 작업이 여러 개가 필요한 경우 git stash를 이용하여 현재 변경한 모든 코드를 일시적으로 저장할..

컴퓨터/git 2024.08.05

git (4) - commit 혹은 push된 내용을 되돌려 보자(reset, revert)

git를 이용하여 형상 관리를 하던 중 업체 측에서 소스코드를 날려 push 상태를 이전으로 돌려야 한 적이 있습니다. 이런 상황을 해결하기 위한 방법을 알아보겠습니다. 본격적인 설명에 앞서 간단하게 설명하면 다음과 같습니다.reset : 이전 시점의 commit 내역으로 branch를 되돌린다.revert : 과거로 가겠다는 이력을 남기고 commit 내역으로 돌아간다. Reset#git reset#특정 commit 상태로 HEAD이동한다. commit 하기 전 상태로 돌린다.git reset --soft [commit hash]#특정 commit 상태로 HEAD와 인덱스를 이동한다. 파일은 수정한 상태로 남는다git reset --mixed [commit hash] #특정 coomit 상태로 이전 상..

컴퓨터/git 2024.07.11

git (3) - branch와 merge에 대하여 알아보자

그동안 프로젝트를 할 때 한 줄로 데이터를 넣는 방식으로 운영했습니다. 프로젝트의 크기도 작아서 해당 방식으로 운영할 수 있었습니다. 최근에 다른 업체들과 작업하면서 한 줄로 작업하는 것이 불가능하여 교통 정리의 필요성을 느꼈습니다. 그래서 이번에는 branch와 merge에 대해 소개하려고 합니다.※ 본 예제는 ex_branch라는 별도의 branch를 가정하여 정리합니다. branch우선 branch는 코드 기록을 가지치기하는 역할을 합니다. 각각의 branch는 독립적으로 작업할 수 있는 코드의 복사본이며 다른 이력입니다. 이를 통하여 여러 작업을 동시에 진행하거나 다른 기능을 개발할 수 있습니다. 기본적으로 Git를 이용하여 저장소를 만들면 'master'라는 기본 branch로 생성합니다. 아래..

컴퓨터/git 2023.12.30

git (2) - fatal: 정방향이 불가능하므로, 중지합니다.

최근에 회사에서 fetch된 데이터를 pull로 가지고 오려고 하였으나 현재 사용 중인 데이터와 commit 이력이 꼬여 에러가 발생했습니다.fatal: 정방향이 불가능하므로, 중지합니다. 우선 해당 에러의 원인은 remote 저장소가 local 저장소보다 앞서 있고 merge할 게 있을 때 데이터 충돌로 인하여 에러를 발생하는 것입니다.  제가 진행한 방식은 다음과 같습니다.git add .git commit -m "rebase a data"git pull --rebase지금까지의 변경 사항을 데이터를 commit하고 이전의 데이터를 pull --rebase로 변경 사항을 가져와 commit이력 사항을 재배치하였습니다. 상황에 따라 git pull --rebase만 처리하여 가져올 수 있습니다. git..

컴퓨터/git 2023.10.26