Git Push
1. Push push는 로컬 저장소의 데이터를 원격 저장소로 밀어 넣는다. 로컬 저장소에서 원격 저장소로 push(밀어 넣기) 할 때는, push 한 브랜치가 ‘fast-forward 병합’ 방식으로 처리되도록 지정해 둘 필요가 있다. push 하지 않는 한 원격 저장소에 영향을 주지 않고 자신만의 브랜치에서 자유롭게 작업 할 수 있다. 그러나 ...
1. Push push는 로컬 저장소의 데이터를 원격 저장소로 밀어 넣는다. 로컬 저장소에서 원격 저장소로 push(밀어 넣기) 할 때는, push 한 브랜치가 ‘fast-forward 병합’ 방식으로 처리되도록 지정해 둘 필요가 있다. push 하지 않는 한 원격 저장소에 영향을 주지 않고 자신만의 브랜치에서 자유롭게 작업 할 수 있다. 그러나 ...
1. Fetch fetch는 원격 저장소의 데이터를 로컬에 가져오기만 한다. pull을 실행하면, 원격 저장소의 내용을 가져와 자동으로 병합 작업을 실행하게 된다. 그러나 단순히 원격 저장소의 내용을 확인만 하고 로컬 데이터와 병합은 하고 싶지 않은 경우에는 fetch 명령어를 사용할 수 있다. fetch를 실행하면, 원격 저장소의 최신 이력을 확...
1. Pull pull은 원격 저장소의 데이터를 로컬 저장소에 가져와 병합한다. 아래 그림과 같이 로컬 저장소의 모든 변경 사항이 반영된 상태에서 새로운 변경 사항이 있는 원격 저장소의 커밋 Y를 로컬로 가져오는 경우를 살펴본다. 이런 경우, 단순히 ‘fast-forward 병합’이 이루어진다. 그림의 ‘master’는 로컬 저장소의 ‘mast...
1. 토픽 브랜치와 통합 브랜치 작업 흐름 토픽 브랜치와 통합 브랜치를 사용한 작업순서 예시이다. 토픽 브랜치에서 새로운 기능을 추가하는 작업과 버그 수정 작업을 동시에 진행하는 경우이다. 통합 브랜치로부터 새롭게 버그 수정용 토픽 브랜치를 만들어, 새로운 기능을 추가하는 작업과는 별개로 버그 수정 작업을 진행할 수 있다. 버그 수정을 완...
1. 브랜치 통합 작업이 완료된 토픽 브랜치는 최종적으로 통합 브랜치에 병합된다. 브랜치 통합에는 ‘merge’를 사용하는 방법과 ‘rebase’를 사용하는 방법의 2가지 종류가 있다. 어느 쪽을 사용하느냐에 따라 통합 후의 브랜치의 이력이 크게 달라진다. 2. merge merge를 사용하면, 여러 개의 브랜치를 하나로 모을 수 있다. 예를 들어...
1. 브랜치 전환 Git에서는 항상 작업할 브랜치를 미리 선택해야 한다. 처음에 Git을 설치하게 되면 ‘master’ 브랜치가 선택되어 있다. 현재 선택된 브랜치가 아닌 다른 브랜치에서 작업하고 싶을 때는, ‘체크아웃(checkout)’ 명령어를 실행하여 원하는 브랜치로 전환할 수 있다. 체크아웃을 실행하면, 우선 브랜치 안에 있는 마지막 커밋 내...
1. 브랜치(Branch) 만들기 Git에서는 작업에 따라 자유롭게 브랜치를 생성할 수 있다. 그러나 이것을 효과적으로 관리하려면, 먼저 함께 작업할 팀원들과 어떠한 방식으로 브랜치를 생성하고 통합할 것인지 미리 정해두는 것이 좋다. 예를 들어 새로운 브랜치를 생성할 때 브랜치 이름은 어떤 규칙으로 지을 것인지, 어떤 상황에서 브랜치를 생성할지 또는...
1. 브랜치(Branch) 개념 소프트웨어를 개발할 때 개발자들은 동일한 소스 코드를 함께 공유하고 다루게 된다. 동일한 소스 코드 위에서 어떤 개발자는 버그를 수정하기도 하고 또 다른 개발자는 새로운 기능을 만들어 내기도 한다. 이처럼 여러 사람이 동일한 소스 코드를 기반으로 서로 다른 작업을 할 때는 각각 서로 다른 버전의 코드가 만들어질 수 밖에...
1. Git Bash 실행 2. 설정 정보 확인 1) System 설정 정보 name $ git config --system user.name email $ git config --system user.email 2) Global 설정 정보 name $ git config --global user.nam...
1. Git ignore 특정 파일은 git에서 버전 관리 대상에서 제외해야 할 경우가 있다. maven이나 bundle, composer 같은 패키지 관리자를 사용할 경우 다운받은 외부 패키지는 버전 관리 대상에서 제외해야 한다. 프로젝트에서 배포 등의 외부에 ssh로 연결한다면 개인 키가 프로젝트 폴더 내에 있을 수 있으며 이런 중요한 설정 정...