Git이란?Git은 소규모 프로젝트부터 대규모 프로젝트까지 모든 것을 빠르고 효율적으로 처리하도록 설계된 무료 오픈 소스 분산 버전 제어 시스템분산 버전제어시스템이란?분산형 버전제어시스템(DVCS, Distributed Version Control System)이란, 중앙에서 관리하고 있는 전체 프로젝트의 히스토리와 변경 내용을 복제하여, 로컬 환경에 저장소를 만들어 관리하는 방식그래서 왜 써야하는데?개발자라면 당연히 알고있어야되고, 써야하는 것으로 잘 알려져있는 git은 도대체 왜 필요한 것 일까?이직하기 전의 회사가, 버전관리시스템없는 환경이었기 때문에 얼마나 git(버전관리시스템)이 편리하고 중요한지에 대해 깨달을 수 있었습니다. 파일은 서버 파일 시스템으로부터 FTP를 이용해 다운로드하거나, 업로..
Git
git archive이용하면, 소스코드를 압축파일로 만들 수 있습니다. git archive --format=zip main -o gitPractice.zip --format : 파일 포멧 지정 main : branch 명 -o : 파일명 지정 그러면, 위와같이 소스코드를 압축파일로 만들 수 있습니다.
main branch 가 default로 생성된다. main branch는 항상 안정화된 상태여야기 때문에, 다른 브랜치를 생성해서 merge하는 과정으로 개발해야한다. branch 목록보기 git branch 위에 설명했듯이 git 은 기본적으로 main이라는 branch가 default로 생성되게 됩니다. 그렇기 때문에 git branch로 확인해보면 main이라는 branch가 존재하는 것을 확인할 수 있습니다. branch 생성하기 git branch 생성하고 싶은 branch명을 뒤에 적어주게되면, 새로운 branch를 생성할 수 있습니다. develop이라는 branch를 생성하고 목록을 확인해보면, develop branch가 추가된 것을 확인할 수 있습니다. 사진을 보면, main bran..
Git의 장점중 하나인 Commit을 통해 파일을 스냅샷으로 저장해두기 때문에, 원하던 Commit으로 언제든 되돌아갈 수 있습니다. 두개의 Commit이 존재하는데, "Add module [ Add ]"인 상태로 되돌아가고 싶은 경우에는?? git log git log 명령어를 통해 지금까지의 commit 기록을 확인할 수 있습니다. git log --oneline 또한, --oneline 옵션을 추가하게 되면, 더욱 하눈에 쉽게 볼 수 있는 형태로도 확인이 가능합니다. 여기서 Add module [ Add ]로 되돌아가기 위해서 해당 commit의 hash값을 복사합니다. Git reset git reset 명령을 통해서 원하는 commit위치로 변경할 수 있는데, --soft옵션과, --hard옵션..
Git 프로젝트는 영역이 존재하는데, working dir, staging area, Local repo, Remote repo로 크게 네가지 영역으로 구분할 수 있습니다. Working directory 개발하는 위치를 의미합니다. 어떤 프로젝트를 진행할 때, 그 프로젝트가 위치하고 있는 공간이 Working directory 입니다. Stagin Area 커밋(Commit)을 수행할 대상 파일들이 위치하는 영역입니다. Working directory에 존재하는 파일을 git add (파일명)을 통해서 Stagin Area 영역으로 위치시킵니다. Local Repository 로컬위치에 존재하는 Git directory(.git 폴더)로 프로젝트의 메타 데이터나, 커밋등의 정보가 저장되는 영역 Remo..
git status를 해보면, untracked content 메세지가 나오고 git add . 를 해도 아무런 변화가 없습니다. 하위폴더(frontend)를 확인해보면 .git 폴더가 생성되어 있을 가능성이 있습니다. 이 .git 폴더를 삭제하고, cache를 삭제합니다. git rm -rf --cached 그 다음 stage에 추가해보면 git add 이번에는 정상적으로 동작을 하는 것이 확인됩니다. 결론 원인은 처음에 설명했듯이 동일한 디렉토리 혹은 하위 디렉토리 안에 또 다른 .git파일이 존재해 있기 때문입니다. 그래서, 하위 디렉토리에 있던 .git 폴더를 삭제하고 폴더에 대한 cache 정보를 삭제하면 정상적으로 동작하게 됩니다.