지금까지는 가장 기본적인 기능들에 집중해서 remote라고 해봤자 로컬 폴더에 생성해 사용해 봤었다. 실제로 팀단위로가거나 규모가 큰 경우, github, gitlab, Bitbucket 등의 서비스를 사용하거나 직접 셀프호스팅하는 서비스를 사용하기도 한다. 셀프호스팅에는 오픈소스로 제공되는 Gitea, Forgejo 등이 있다. Forgejo는 Gitea가 상용 서비스 회사가 되자, 생겨난 것으로 보인다. 이러나 저러나 예전부터 막강한 기능과 제일 더 읽기
git
git 알아보기 #7 : git remote / push / pull / fetch/ clone
공동작업용 중앙 저장소 생성. 우선 공동작업용 폴더를 하나 만들었다. 그리고 그 안에서 –bare 옵션을 주고 git을 초기화하여 repository를 생성한다. –bare옵션을 주면 로컬작업이 안되고 git repository 자체만 존재한다. –bare 옵션으로 공동 작업용 git repository를 만드는 경우, 폴더명을 “.git”으로 끝내는게 관례라고 한다. 초기화 후, 파일들을 보면, git init 로 생성했을 때 보이는 더 읽기
git 알아보기 #6 : git merge/rebase
git merge 앞에서 특정 기능을 개발하거나 테스트 하기위해 branch를 생성해서 작업을 했다고 생각해보자. 기능을 다 구현하고나면, 이걸 main 브랜치에 반영해야 다른사람들이 사용하거나 릴리즈시에 반영이 될 것이다. 또는, 별도의 버전으로 관리한다고 해도 main 브랜치에서 진행된 작업 내용을 이 브랜치에 적용하고 싶을 것이다. 이렇게 하나의 branch의 변경사항들을 다른 branch에 병합시키고 싶을 때 더 읽기
git 알아보기 #5 : git branch / checkout / tag
git branch / checkout 이전까지의 과정이 그냥 혼자 히스토리 남기는 정도의 기본적인 VCS 사용이었다면, 여기서부터 난이도가 올라가는 중상급기능이라고 할 수 있다. 개발 또는 작업을 하다보면, 특정한 feature를 개발해야 하는 경우가 생긴다. 그런데, 이게 간단하지 않고 꽤 오래 걸리는 작업이라면, 기존에 작동하던 코드들이 망가질 위험이 존재하기 때문에, 기존 코드를 건드리지 않고 더 읽기
git 알아보기 #4 : git diff/restore/rm/revert/clean
git diff 최신 commit과 이전 commit에서 코드가 어떻게 달라진건지 차이점을 확인하기 위해선 git diff를 사용한다. git diff <commit1> <commit2> 와 같이 사용한다. commit 지정은 id로 사용되는 hashcode를 써주는데, 40자를 다 안쓰고 앞에 6-7자만 사용해도 왠만해서는 중첩되지 않으므로 작동한다. 그냥 최신 commit의 변경사항을 알고 싶다면, 다음과 같이 git show로 간단한 명령어로도 더 읽기