블로그

illustrations illustrations illustrations illustrations illustrations illustrations illustrations

Git 코드 누가 지웠니?

Published on Jun 03, 2024 by ultrakeypoint on dev git 업무 overwrite

Git 코드 누가 지웠니?

아직도 프로그램 코드의 관리를 파일시스템이나 FTP로 하는 프로젝트는 거의 없을 것이다. Git은 소규모 프로젝트부터 대규모 프로젝트까지 모든 것을 빠르고 효율적으로 처리하도록 설계된 무료 오픈 소스 분산 버전 제어 시스템입니다. Git은 배우기 쉽고 매우 빠른 성능을 갖춘 작은 설치 공간을 가지고 있습니다. 저렴한 로컬 분기, 편리한 스테이징 영역 및 다중 워크플로우와 같은 기능을 통해 Subversion, CVS, Perforce 및 ClearCase와 같은 SCM 도구를 능가합니다. 하지만, GIt을 쓰면서 여러 사람과 작업을 하게 되고 여러 사람이 공유하는 메인 스트림에 병합할 때 잘못 코드를 병합하여 다른 사람의 작업을 지워서 헛수고로 만드는 경우가 종종 발생합니다. 이 처럼, 다른 사람에게 피해를 주지 않기 위해서 코드를 반영하는 push나 merge를 수행할 때는 항상 주의를 해야 합니다.

자. 그럼 깃린이가 해야될 필수 행동을 정리해 봅니다.

push/merge 시 나의 작업(commit)이 최신 베이스의 다음 작업(commit)인지 반드시 확인해야 됩니다.

최신 베이스가 아닌 경우 fetch & Rebase를 통해 최신화를 한 후 나의 작업이 이상이 없는지 확인한다.
최신이 아닐 경우 conflict 발생하여, 문제를 해결해야 되고, 해결하면서 다른 사람의 코드를 의도치 않게 변경할 수도 있다고 생각해야 된다.

Rebase-Before

$ git checkout experiment
$ git fetch
$ git rebase master
First, rewinding head to replay your work on top of it...
Applying: added staged command

Rebase-After
Rebase를 통해 내가 작업(experiment)한 내용이 최신 베이스(master)의 다음 작업으로 정상적으로 이동한다.

push/merge 시 내가 수정한 이력(Changes)이 맞는지 다시 한번 확인한다.

Git 자주 사용하는 개발자에게는 너무 기초적인 부분이지만, 위 기초적인 내용만 잘 해도 다른 사람에게 피해를 주지 않는다.

`오늘도 울킷!`
도움이 되셨다면, 댓글 부탁 드립니다. :+1:

다른 스토리

다국어 처리 개발 빠르게 하기

다국어 처리 개발 빠르게 하기

웹페이지 전체 중 우리나라 한국말로 작성된 페이지의 총수는 1%도 안 된다는 사실 알고 계셨나요? 전 구글의 디렉터이자, 최초의 비영어권 출신인 로이스 김은 성장하기 위한 3가지 요소를 건강, 네트워크, 그리고 영어라고...

더 보기
Vue Table 10만 데이터 로드하기

Vue Table 10만 데이터 로드하기

서비스 초기에는 데이터가 많지 않아 테이블에 데이터를 로드하는 데 이슈가 많지 않습니다. 하지만, 서비스가 한 달, 두 달, 1년, 5년 되다 보면 데이터의 양도 많고 데이터의 종류도 다양해진다. 이번에는 국내에서...

더 보기
오라클 클라우드 우분투 기본 설정

오라클 클라우드 우분투 기본 설정

오라클 클라우드 컴퓨터 인스턴츠 관리 관련 기본적으로 해야될 설정을 메모합니다. 설정하지 않으면 SSH 사용 시 멈추거나 서버가 다운되는 현상이 있기 때문에 필수사항은 반드시 적용해서 안정적인 서버 운영에 도움되세요

더 보기