[Git] Git 으로 개인 프로젝트 관리하기
·
Git & GitHub/Git
사실 토이 프로젝트를 만들 때는 대체로 배포하기 위한 목적이 아니기 때문에 main 브랜치 하나로 관리가 가능하다. 그러나 개인 프로젝트를 오픈소스에 배포하거나 서비스로 출시한다면? 개발하는 과정을 모두 서비스 사용자에게 보여줄 필요는 없다. 이럴 땐 브랜치를 잘 활용하여 배포본을 main으로 관리하고 업데이트를 위해 dev 브랜치나 feat 브랜치를 사용하면 된다. 개인 프로젝트 관리방법을 차례대로 알아보자. 1. 레포지토리 만들고 로컬로 가져오기 README파일을 만들지 않으면 레포지토리에 따로 브랜치가 생기지 않는다. 아예 비어있는 상태이다. 반면, 시작할 때 README 파일을 만들면 main이라는 default 브랜치가 생긴다. 아래과정을 한 번에 처리한 것이다. (Repo에 1 commit 이..
[오류해결] fatal: Unable to create '~~/.git/index.lock': File exists.
·
Git & GitHub/오류해결
git에 이유 모를 에러가 발생해서 강제종료되었다. 그래서 다시 git을 실행하여 git add 명령어를 사용했는데 아래와 같은 에러가 발생할 때가 있을 것이다. $ git add . fatal: Unable to create '디렉토리/.git/index.lock': File exists. Another git process seems to be running in this repository, e.g. an editor opened by 'git commit'. Please make sure all processes are terminated then try again. If it still fails, a git process may have crashed in this repository earl..
[Git] git rebase 사용하기
·
Git & GitHub/Git
아래와 같은 로그가 있다고 해보자. $ git log commit 4b38800ffd950b6d9ee7d9e498cb813c4bb6196c (HEAD -> master) Author: BigBell Date: Sat Feb 12 14:45:52 2022 +0900 댓글기능완료 commit fbf1cb943bc5f651af389935089fd34d0ff2927f Author: BigBell Date: Sat Feb 12 14:45:26 2022 +0900 댓글기능2 commit 90dc548ae0bfaa3328fca93bad686fa37045f23d Author: BigBell Date: Sat Feb 12 14:44:34 2022 +0900 댓글기능1 commit 34e07046d9e9e3d11278ef..
[Git] Git의 역사와 배경지식
·
Git & GitHub/Git
1. Git의 탄생 Git은 유닉스, 리눅스에서 시작되었다고 볼 수 있다. 유닉스는 대형 컴퓨터만의 OS였다. 리누스 토르발스는 유닉스를 발전시켜서 개인용 컴퓨터(PC) OS를 만들었다. 바로 Linux 다! 토르발스는 리눅스를 윈도우처럼 판매하지 않고, GNU (General Public License)로 풀어버린다. 오픈소스라고 생각하면 될 것 같다. ("GNU's Not Unix!라는 재귀약어 우스갯소리도 있다...) 대신 일반 공중 사용 허가서(GNU General Public License, GNU GPL 또는 GPL)가 있어야만 하는데, GPL이란 오픈 소스 프로그램 개발자 또는 판매자를 위한 라이선스이다. GPL 파생 저작물 조항에 의해 GNU, GPL 라이선스 프로그램을 사용해 만든 프로그..
[Git] Please enter a commit message to explain why this merge is necessary, especially if it merges an updated upstream into a topic branch
·
Git & GitHub/오류해결
Git bash를 통해서 merge를 진행하거나 pull 명령어를 사용하면 # Please enter a commit message to explain why this merge is necessary, # especially if it merges an updated upstream into a topic branch. # # Lines starting with '#' will be ignored, and an empty message aborts # the commit 라고 적힌 까만 창이 뜨는데 아무것도 적히지도 않고 esc나 q를 눌러도 나가지지 않아서 굉장히 당황스러울 것이다. 키보드를 막누르다가 잘못 건드려서 로컬저장소에 문제가 생기면 어쩌나 하는 생각도 들 것이다. 이럴 때 간단히 빠져나갈 ..
git push 오류가 생길 때 (부제: error: failed to push some refs to)
·
Git & GitHub/오류해결
local에는 readme파일이 없는데 원격저장소에만 있을 때 생기는 오류라고 한다. git add README.md를 시도해봤지만 도저히 되지가 않아서 깃허브에 직접 추가했었다. 그래서 로컬저장소와 원격 저장소와의 괴리가 생긴듯하다. 1. 강제로 push 하기 (주의! 원격저장소의 파일이 훼손될 수 있음) 처음 이 오류가 발생했을 때 여러 블로그를 전전하며 오류 해결방법을 찾아봤었다. 어떤 블로그에서 이 방법을 추천해줄길래 해봤었다. git push -f origin 강제로 푸시하면 문제해결이 되나 싶었더니 README.md 파일 날라가버린다. README를 잘 꾸며놓았는데 날라간다면 정말 화날 것 같으니 주의하는 게 좋겠다. 2. 추천하는 방법 - git pull 오류가 났을 때도 git pull을 ..