GIT: 66개의 글
앞에서 배운 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.다음과 같이 하나의 리포지토리에 두 개의 브랜..
만약 소스코드를 수정을 하고 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..
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..
깃(Git)을 이용하여 작업을 하다가 리베이스(rebase) 실수 또는 잘못된 명령어나 조작 실수 등 다양한 이유로 인해 자신의 피땀눈물이 담긴 커밋(commit)들을 날려먹는 경우가 은근히 있다. remote에 push해서 백업을 만들어놓고 로컬에서만 작업했으면 다시 remote 저장소에서 받아오면 되지만, 그렇지도 않은 경우에는 어떻게 이 지워진 커밋들을 다시 읽어오거나 복원할 수 있을까?다행히도 한번이라도 commit이 된 내용이라면, 심지어 현재 보이는 git tree 상에 보이지 않는 commit들 까지도 local git repository안에 commit log들이 남아 있다. 덕분에 이를 검색해서 해당 commit 상태로 복원 할 방법이 존재한다.git의 명령어 중에 reference lo..