목록분류 전체보기 (111)
yoongrammer
목차git rebase와 cherry-pick 알아보기히스토리를 한 줄로 관리하기 위해 Merge 보다 Rebase 나 Cherry-Pick을 사용하는 경우가 많습니다.이번에는 Rebase 와 Cherry-Pick에 대해 알아보도록 하겠습니다.git rebaserebase는 브랜치의 공통 조상이 되는 base를 다른 브랜치의 커밋 지점으로 바꾸는 것입니다. 이해하기 쉽게 그림으로 설명하겠습니다.위 그림을 보면 master와 topic 브랜치의 공통조상인 base는 C1이라는 것을 볼 수 있습니다. 1. HEAD를 topic으로 옮기겠습니다.$ git checkout topic2. rebase 명령으로 topic의 base를 master가 가리키는 C4로 변경합니다.$ git rebase master실제로..
목차git remote 저장소리모트 저장소(remote repository)는 인터넷이나 네트워크 어딘가에 있는 저장소를 말합니다.리모트 저장소에서 파일을 공유할 수 있기 때문에 여러 사람들과 협업이 가능합니다. 로컬 저장소에서 리모트 저장소에 데이터를 업로드(push) 하거나 가져(pull) 올 수 있습니다. git remote 관련 명령어를 알아보도록 하겠습니다.리모트 저장소 확인하기 (git remote)git remote 명령으로 현재 프로젝트에 등록된 리모트 저장소를 확인할 수 있습니다.git clone으로 저장소를 clone 하면 origin이라는 리모트 저장소가 자동으로 등록됩니다.$ git clone https://github.com/schacon/ticgitCloning into 'tic..
목차git 브랜치(branch) 란? 브랜치는 커밋 개체(object) 사이를 가볍게 이동할 수 있는 포인터 같은 것입니다. 커밋을 하면 git 저장소에는 커밋 개체, 트리 개체, blob 이 저장됩니다. 커밋 개체는 아래 정보를 가지고 있습니다.커밋 메시지 같은 메타데이터이전 커밋에 대한 포인터 정보트리 개체를 가리키는 포인터 정보author, committer 정보트리 개체는 add 된 파일과 디렉터리 구조가 들어 있습니다. Blob은 git 저장소에 저장된 파일입니다. 파일 세 개를 add 하여 커밋을 하면 git 저장소에는 다섯 개의 데이터 개체가 생깁니다.(커밋 개체 하나, 트리 개체 하나, blob 세 개)$ git add README test.rb LICENSE$ git commit -m '..
목차git 되돌리기 (git commit 취소, git add 취소)작업한 내용을 되돌리는 방법에 대해서 알아보도록 하겠습니다. Git은 대부분 복구할 수 있지만 되돌린 것은 복구할 수 없으니 주의해야 합니다.commit 수정 하기git commit --amend 명령어로 커밋을 수정할 수 있습니다.$ git commit --amend이 명령어는 커밋 메시지를 잘못 적었거나 어떤 파일을 빼먹었을 때 등 커밋을 수정할 때 주로 사용합니다. 커밋을 했는데 빠트린 파일이 있다면 아래와 같이 수정할 수 있습니다.$ git commit -m 'commit'$ git add file$ git commit --amend여기서 실행한 명령어 3개는 모두 커밋 한 개로 기록되며 두 번 째 커밋은 첫 번째 커밋을 덮어쓰게..
목차 Git 저장소 만들기 Git 저장소 만드는 방법은 두 가지가 있습니다. 1. git init : 빈 git 저장소를 만들거나 기존 저장소를 다시 초기화하는 명령어입니다. $ mkdir my_project $ cd my_project $ git init 위 명령은 my_project를 git 저장소로 만드는 예제입니다. 2. git clone : 에 해당하는 저장소를 복제해 새 디렉터리로 가져오는 명령어입니다. $ git clone https://github.com/libgit2/libgit2 위 명령은 libgit2라는 디렉터리를 만들고 그 안에 https://github.com/libgit2/libgit2 에 있는 데이터를 모두 가져오는 예제입니다. 아래와 같은 명령을 사용하여 저장소를 Clone..
목차 Git 설치 OS별 Git 설치 방법에 대해서 알아보도록 하겠습니다. Linux Fedora, RHEL, CentOS에서 아래와 같이 dnf를 사용하여 설치합니다. $ sudo yum install git Ubuntu 등의 데비안 계열에서는 apt를 사용하여 설치합니다. $ sudo apt-get install git 설치가 되었는지 확인해 봅니다. $ git --version git version 2.22.0 version 정보가 출력되면 설치가 완료된 것입니다. MacOS 아래와 같이 brew를 사용해서 설치합니다. $ brew install git 설치가 되었는지 확인해 봅니다. $ git --version git version 2.22.0 version 정보가 출력되면 설치가 완료된 것입니다..
목차 Git 이란? Git이란 컴퓨터 파일의 변경사항을 추적하고 관리하는 분산형 버전 관리 시스템(DVCS, Distributed Version Control System) 입니다. Git 개념 Git은 파일을 아래 세 가지 상태로 관리합니다. Commited - 데이터가 로컬 데이터베이스에 저장된 상태 Modified - 수정한 파일을 아직 로컬 데이터베이스에 커밋하지 않은 상태 Staged - 수정한 파일을 곧 커밋할 것이라고 표시한 상태 이 세 가지 상태는 Git 프로젝트의 세 가지 단계와 연결돼 있습니다. Working 디렉터리(Working tree라고도 함)는 프로젝트의 특정 버전을 git 디렉터리에서 Checkout 한 것입니다. Checkout 하고 나서 수정한 파일은 Modified 상태..
목차 Delve란 Delve는 Go 언어용 디버거입니다. dlv 명령어를 사용하여 go 언어를 디버깅할 수 있습니다. Delve 설치 방법 Delve를 컴파일 하려면 Go 1.10 이상이 설치되어 있어야 합니다. 1. go get 명령어를 사용하여 delve를 설치합니다. $ go get github.com/go-delve/delve/cmd/dlv 2. 설치가 되었는지 확인해 봅니다. $ dlv version Delve Debugger Version: 1.5.0 version 정보가 나온다면 설치가 완료된 것입니다. Delve 사용 방법 dlv attach - 실행중인 프로세스에 연결하여 디버깅합니다. Usage: dlv attach pid [executable] [flags] Flags: --conti..
목차버전관리 시스템(Version Control System) 이란?버전관리 시스템(VCS, Version Control System)이란 파일 변화를 시간에 따라 기록했다가 나중에 특정 시점의 버전을 다시 불러올 수 있는 시스템을 의미합니다. VSC를 사용하면 선택한 파일을 이전 상태로 되돌릴 수 있고, 변경 사항을 비교하고, 변경한 사람 및 변경시기를 추적할 수 있습니다. 또한, 파일을 잃어버리거나 잘못 고쳤을 때도 쉽게 복구할 수 있습니다. VCS의 종류로컬 버전관리 (Local VCS)Local VCS 는 간단히 데이터베이스를 사용해서 파일의 변경 정보를 관리하는 시스템입니다.아주 간단하지만 실수하기 쉽다는 단점이 있습니다. 대표적으로 RCS(Revision control system)가 있습니다..
목차gRPC 란?gRPC는 구글이 개발한 RPC 시스템입니다.gRPC는 대부분의 언어를 지원하며 PB(Protocol Buffer)를 IDL(Interface Definition Language)로 사용합니다. gRPC에서 원격에 있는 애플리케이션의 메서드를 로컬 메서드인 것처럼 직접 호출할 수 있으므로 분산 애플리케이션 및 서비스를 더 쉽게 만들 수 있습니다.gPRC 클라이언트와 서버는 클라우드 환경에서 데스크탑, 모바일까지 다양한 환경에서 실행할 수 있고 다양한 언어를 지원합니다. (Go, Ptyhon, Ruby, Java, C++ 등등) gRPC 서비스 정의gRPC는 서비스 정의 개념을 기반으로하며 매개 변수 및 반환 유형을 사용하여 원격으로 호출할 수 있는 메서드를 지정합니다. 기본적으로 gRPC..