형상관리/Git: 72개의 글
앞에서 배운 branch를 통해 하나의 프로젝트에 두 가지의 다른 작업을 동시에 진행하며 Git에서 버전관리를 받는 것을 배웠다. 이번에는 앞서 예를 들었던 두 가지의 작업이 시간이 지나 모두 완성되었다고 한다. 그렇다면 이 두 개의 작업을 하나의 버전으로 만들어 서비스를 제공해야 할 것이다. 이 때 진행되던 이 두개의 작업를 하나로 합치는 것을 merge라고 한다. STEP01.합칠 branch를 checkout 한다. (다른 branch를 가져와서 원본으로 만들 branch)※ checkout : branch를 선택하는 것. checkout 하는 branch에 따라 소스코드가 바뀐다. STEP02. 가져올 branch를 마우스 오른쪽 클릭을 하고 "Merge 실험 into current branch"..
만약 프로젝트에 새로운 기능을 추가하고자 한다. 동시에 기존의 프로젝트에서 발생하는 버그와같은 수정사항을 고쳐야 하는 상황이다. 그렇다면 다른 방향의 두 가지의 작업을 함께 진행 하여야하는데 만약 새로운 기능을 추가하는 작업이 취소되거나 수정되어 기능을 추가하기 전의 상태로 돌아가야하는 상황이 발생할 수 있다. 하지만 이 때 Git을 통해 이전의 상황으로 돌아갈 경우 동시에 작업하던 프로젝트의 수정 작업 역시 사라지고 이전 상태로 돌아가는 문제가 발생한다. 이때 Git의 branch 개념이 필요하다. STEP01.상단 메뉴의 Branch 버튼을 클릭한다. STEP02.새롭게 만들 Branch의 이름을 쓰고 Create Branch 버튼을 누른다. STEP03.다음과 같이 하나의 리포지토리에 두 개의 브랜..
앞에서 배운 reset과 마찬가지로 이전의 버전으로 돌아가기 위해 revert를 사용할 수 있다. STEP01.취소할 버전을 선택하고 해당 버전에 마우스 오른쪽 클릭을 한다. 팝업이 뜨면 "Reverse commit"을 누른다. STEP02.Confirm reverse commit 팝업이 뜨면 Yes를 누른다. STEP03.다음과 같이 revert로 선택한 "Circle클래스 수정"을 취소하는 버전인 "Revert "Circle클래스 수정"이 commit 되었다. 소스코드 역시 "Circle클래스 수정" 버전을 실행하기 전인 "mainCode 수정 Circle 선언" 버전으로 돌아간다. ※ reset과 revert의 차이점reset은 선택한 버전을 reset할 경우 선택한 버전의 이후 버전을 모두 삭제하..
프로젝트가 진행되던 도중 문제가 발생하여 이전의 버전으로 돌아가야 하는 상황이 발생한다. 이때 돌아가길 원하는 버전으로 reset을 통해 되돌릴 수 있다. STEP01.되돌아갈 버전을 선택하고 마우스 오른쪽 버튼을 클릭하고 "Reset current branch to this commit"을 누른다. STEP02. Reset to Commit 창이 아래와 같이 뜬다. 여기서 3가지의 mode가 존재하는데 Soft, Mixed 그리고 Hard는 다음을 의미한다. 원하는 mode를 선택 후 OK를 클릭한다. 1) Soft : index에 올라온 수정사항 보존, working tree에 올라온 수정사항 보존 2) Mixed : index에 올라온 수정사항 취소, working tree에 올라온 수정사항 보존 ..
만약 소스코드를 수정을 하고 commit을 하기 직전의 상황에서 수정한 내용에 문제점이 발견되고 수정한 부분을 되돌리려고 한다. 직접 이 부분을 사람이 되돌리고자 하면 하나하나 원 상태와 똑같이 지우고 수정해가며 이전의 상태로 되돌릴 수 있다. 이 때 Git의 discard를 통해 자동으로 수정하기 전의 commit한 버전으로 돌아갈 수 있다. STEP01.위와 같이 소스코드가 수정되면 SourceTree의 working tree에 아래와 같이 표시가 된다. 이 상태에서 commit을 하기 전 소스코드에 문제가 발생하여 수정하기 전으로 소스코드를 되돌리고 싶다면 SourceTree의 상단 메뉴에서 Discard 버튼을 클릭한다. STEP02.Discard Changes 창이 뜨면 되돌리고 싶은 파일을 선..
프로젝트를 진행하다보면 하나의 기능을 완성하거나 더 이상 수정을 할 필요가 없다고 생각할 때 완성된 기존의 소스를 다른 곳에 백업을 해둔다. 이것을 Git에서는 commit이라 한다. STEP01.SourceTree를 통해 생성한 Git 리포지토리(자신의 프로젝트 폴더)에 소스 파일을 작성하고 생성한다. STEP02.소스 파일을 저장한 후 SourceTree를 확인해보면 다음과 같이 새롭게 생성하거나 수정한 파일들이 SourceTree의 Unstaged files 목록(working copy)에 표시된다. 이 목록에서 commit 하고자하는 파일을 check 한다. (add) (Unstaged files 목록에 있는 파일들 앞에 보면 아이콘이 표시된다. 파란색 물음표 아이콘의 경우 Git에 최초 comm..
Git을 통해 버전관리를 받기 위해 작업하는 프로젝트 폴더를 Git의 Repository로 지정해주어야 한다. 이것을 init이라 하며 SourceTree에서는 아래와 같은 과정을 거친다. STEP01.SourceTree를 실행 후 왼쪽 하단의 Add Repository 아이콘을 클릭한다. STEP02.새롭게 뜨는 팝업 창에서 Create New Repository 탭을 클릭 후 자신이 사용할 프로젝트 디렉토리(JAVA 프로젝트 디렉토리 같이 실제 소스 코드들이 저장되는 디렉토리)를 지정해 준다. Create 버튼을 통해 생성한다. STEP03.실제 생성된 리포지토리 출처: https://gangju.tistory.com/17?category=529701 [gangju 개인 블로그]
STEP01. Git 다운로드 http://www.git-scm.com/ ※ 윈도우용 Git인 git-scm.com에서 다운 받는 Git과 msysGit은 동일한 버전이다. STEP02. 다운로드 받은 Git 설치1) 컴포넌트 설정사용자의 필요에 따라 변경하면 된다. 2) 환경 변수 설정사용하는 Git 환경에 따라 환경 변수의 설정이 바뀐다. "Use Git from Git Bash only"의 경우 Git에서 제공하는 Git Bash만 사용하는 것으로 윈도우 환경변수에 Git을 등록하지 않는다. "Use Git from the Windows Command Prompt"는 윈도우 명령 프롬프트에서 Git을 사용하는 것으로 선택 시 윈도우 환경변수에 Git을 등록한다. 마지막으로 "Use Git and o..
* commit파일 및 폴더의 추가 및 변경 사항을 버전화하여 리포지토리에 기록하는 것 * working directory (workspace, working copy, working tree) 실제 파일들로 이루어져있는 폴더. 수정된 내역들이 나타나는 곳. 파일 준비 등이 이루어지며, 리포지토리에 등록된 파일 변경 내역을 관리. * index (staging area) Commit을 하기전의 임시영역. 이곳에 올라온 파일들이 하나의 버전이 된다. 따라서 연관되어있는 수정된 파일과 완료된 파일들에 대해서만 commit을 통해 버전화 할 수 있다. (하나의 버전으로 묶길 원하지 않는 파일이 있을 경우 index로 올리지 않으면 된다.) * revisioncommit을 통해 생성된 변경 이력. 리포지토리에 ..
* 버전 관리 시스템 (Version Control System) 소프트웨어의 코드를 추가 또는 변경하는 과정을 모두 기록하여 특정한 시점으로 돌아가거나, 문제가 생긴 파일을 복원하는 등, 소프트웨어 개발 현장에서 사용하는 프로그램(시스템) 이다. CVS(Concurrent Versions System, 동시 버전 관리 시스템), SVN(Subversion), Git 등이 있다. 우리가 보통 프로젝트를 작업 할 때 프로젝트 진행과정에서 발생하는 수정사항이나 백업이 필요한 부분을 저장하기 위해 위와 같이 여러 개의 파일을 폴더 내에 복사하고 파일명을 구분되게 하는 방법을 사용한다. 이것을 버전 관리라 볼 수 있다. 하지만 이러한 방법은 프로젝트가 진행될수록 어떠한 파일이 어떤 부분이 변경된 것이고 왜 복사..