Git

· ETC/Git
앞선 포스팅에서 Git을 사용하는 이유로 협업의 용이성과 테스트를 들었다. 위 두가지 모두 가지치기가 필수라고 볼 수 있는데, 이번엔 가지치기에 대해 알아보도록 하자. 가지치기? 영어로는 Branch라고 하며, git 명령어 또한 git branch로 사용한다. 앞서 로컬 저장소를 만들었을 당시 디렉터리 뒤에 master라고 나와있던것을 기억하는가? 그것이 바로 브랜치명이다. 디렉터리명 뒤에 있는 민트색 master가 브랜치명이다. 나무의 줄기(메인 브랜치)에서 별도의 가지(새 브랜치)를 작성, 메인 브랜치에 영향을 주지 않고 코드를 자유롭게 추가, 수정, 삭제가 가능하다. 큰 가지에서 또 다른 갈래가 뻗어나가듯, 메인 브랜치가 아닌 다른 브랜치에서 분기가 가능하다. 테스트가 완료되었다면 메인 브랜치에 ..
· ETC/Git
이전 포스팅에서 push한 솔루션 폴더에는 아래 사진과 같이 비어있는 cpp파일만 있었다. 이 파일을 수정하고 업로드해보자. 간단하게 Hello World만 출력하는 프로그램을 작성했다. 이것만 하면 아쉬우니까 Github에서 추가해달라고 하는 README를 같이 작성해서 넣어보도록 하자. 솔루션 우클릭 - 추가 - 새 항목 파일명은 README.md로 입력한다. readme.md로 해도 상관없다. 확장자인 .md는 마크다운이다. 마크다운 문법은 이 문서에 아주 잘 설명되어 있다. 업로드해보자 Bash를 열고 아래 명령어를 입력한다. git add . git commit -m "커밋메세지" git push 원격 저장소를 보면 잘 적용되어있다. 이번에는 일부 파일만 추가해 커밋을 해보자. 위와 같이 두개의..
· ETC/Git
원격 저장소 생성하기 Github에 로그인 후 메인 페이지에 가면 Dashboard가 보인다. [New] 버튼을 눌러보자. 위와 같은 페이지가 나온다. Repository Name 에는 저장소의 이름을 영어로 입력한다. 한글 및 특수문자는 모두 하이픈-으로 치환된다. Description에는 저장소에 대한 설명을 간략하게 입력한다. 귀찮으면 넘겨도 된다. Public과 Private은 이 저장소를 공개할 것인지, 비공개로 둘 것인지를 선택하는 것이다. TMI 원래 Github의 Private 저장소는 유료였는데, 3인 미만은 무료로 쓸 수 있게 바뀌었다. 다만 무료 사용자는 Private 저장소에서 Pull Request 등의 여러 협업 기능을 사용할 수 없고, 3인 미만의 무료 사용자 팀이라면 Orga..
· ETC/Git
이전 포스팅에서 git config을 사용했는데, 종종 쓰이므로 config의 종류에 대해 알아보자. 콘솔창에 git config --help 라고 입력하면 git-config(1) Manual Page라는 제목의 웹페이지가 하나 뜬다. 입문자의 입장에선 장황하기 그지없는 불친절한 (그것도 영어로 쓰인) 문서이기 때문에 접어두도록 하고, 이 포스팅에선 기초적인 사용방법과 자주 쓰이는 config만 설명한다. 기본 사용방법 기본적인 사용방법은 여타 콘솔 명령어와 다르지 않다. git config [설정 이름] [설정 값] 범위 지정 설정값이 적용될 범위를 지정할 수 있다. 범위가 적용되는 우선순위는 로컬 저장소 > Global > System 이다. 로컬 저장소의 설정이 가장 하위 설정 Local 범위 지..
· ETC/Git
https://github.com/explore Explore GitHub Explore is your guide to finding your next project, catching up with what’s trending, and connecting with the GitHub community. github.com 위 링크로 들어가면 인기있는 공개 저장소와 인기있는 개발자 프로필이 나온다. "누구나 참여 가능한 알고리즘 코딩테스트 문제풀이 스터디" 가 눈에 띈다. 해당 저장소를 받아보자. 클릭하면 위와 같은 화면이 나오는데, 원격 저장소에 올라와있는 코드와 해당 코드가 수정된 날짜, 커밋 등의 정보가 나온다. 우측 상단의 [ Code ] 버튼을 눌러보자. Download ZIP을 눌러 압축파일로 ..
· ETC/Git
Git client 다운로드 이 게시글은 Windows 환경만 설명한다. Git for Desktop으로 접속한다. 화면에 보이는 Windows 를 클릭하고, 본인의 운영체제 환경에 맞는 Setup파일을 다운로드 한다. 설치 옵션이 엄청나게 많은데, 굳이 만질 필요 없다. 계속 Next만 눌러서 설치해준다. 설치 확인 파일 탐색기를 열고 빈 공간에 우클릭 했을 때 Open Git GUI Here 메뉴와 Open Git Bash Here 메뉴가 보인다면 정상적으로 설치가 된 것이다. 혹은 Win + R 키를 눌러 cmd를 입력, 명령 프롬프트에 git이라고 입력 후 엔터. 정상적으로 설치됐다면 아래와 같이 나온다.
· ETC/Git
Git이 뭐야? 리눅스의 아버지, 리누스 토발즈가 개발한 분산형 버전 관리 시스템. 쉽게 설명하면 코드의 다양한 버전을 관리할 수 있는 시스템임. 코드뿐만 아니라 그래픽리소스 등 파일의 버전관리도 가능함. 왜 쓰는건데? 협업이 용이하다. 작업자의 작업 공간이 분리되고, 작업 내역을 하나로 합치는 병합 작업이 쉽게 이뤄진다. 변경사항이 기록되어 버전 관리가 용이하다. 개발을 하다보면 이전 버전으로 되돌아가야 하는 경우가 빈번히 생긴다. 어젯밤에 코드를 수정하고 잠에 들었는데 아침에 실행해보니 동작하지 않는다면? 새 기능을 추가했는데 QA에서는 잡히지 않은 치명적인 예외사항(결제오류 등)이 생겼다면? 테스트 코드를 확인하기 쉽다. 테스트 서버에만 적용하고 라이브 서버에는 적용하면 안되는 경우에 사용할 수 있..
· ETC/Git
시놀로지 DS116+을 사용하다가 성능과 1베이 용량에 아쉬움을 느껴 DS718+를 구매했다. 전에 작성해두었던 게시글을 토대로 Gogs를 다시 설치하려다가 718+는 Docker 사용이 가능해서 추후 복구가 편하도록 Docker 위에 올리기로 했....는데 한글로 쓰인 자료가 거의 없다...ㅜㅜ 그냥 되는대로 설치해 보기로 한다. 나중에 EC2나 회사 코로케이션 서버에 구축할 수도 있으니 최대한 시놀로지의 GUI없이 CLI에서만 구축해 보았다. - 2024-01-08 수정 최근에 watchtower 컨테이너를 구성해서 컨테이너들이 자동업데이트 되게 해놓았는데... 당시 볼륨을 설정해놓지 않아 어젯밤 업데이트하며 컨테이너가 재생성되며 db가 싹 날아가버렸다......... 멍청한 청년......... 본..
· ETC/Git
요즘들어 유니티 프로젝트의 의뢰가 많다. 유니티는 자체적으로 Collaborator라는 클라우드 스토리지 서비스를 지원하지만, commit log를 제외하면 git처럼 버전 관리할 수 있는 곳이 암만 찾아봐도 없다. Github는 파일당 100MB 제한이 있고, BitBucket은 파일당 용량 제한은 없지만 총 용량 제한이 있다. 그리고 매우 느리다.. 그래서 그냥 시놀로지 DSM에 있는 Git Server를 활용하기로 했다. 사전에 Git Server와 MariaDB 5 설치가 필요하지만, Git을 사용하고 서버를 구축하기 위해 여기까지 찾아온 여러분께는 구태여 설명할 필요가 없을 것 같으므로 생략합니다. *** 시놀로지에서 Docker를 지원하는 경우 여기를 참조하세요. 도커로 구성하는게 추후 관리가..
· ETC/Git
재택근무가 길어지면서 사내메신저의 필요성을 느끼던 중 Slack이나 잔디, 라인웍스 등의 협업 툴을 써봤지만 큰 메리트를 느끼지 못하고 관련 소프트웨어에 익숙하지 않은 직원들도 쉽게 쓸 수 있는 디스코드를 선택했다. 일단 직원들 대부분이 온라인게임을 즐기기 때문에 새로 설치하거나 익숙해질 필요가 없었고, 파일 전송 용량 등 몇가지를 제외하면 Slack과 크게 다른점이 없는데, 구글 클라우드와 사무실 내 스토리지가 있어서 필요가 없는 상태였으며 무엇보다 API를 활용해 직접 필요한 기능을 개발할 수 있는 장점이 컸다. Django로 디스코드 봇을 만들어 프로젝트 관리와 서버에 이슈가 생기면 푸시알림을 보내주려고 했는데 연동 탭에 "웹후크" 항목이 눈에 띄었다. 보자마자 Github에 웹훅 연결하면 되겠네 ..
Jade Choe
'Git' 태그의 글 목록