형상관리/Git: 70개의 글
앞에서 배운 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 등이 있다. 우리가 보통 프로젝트를 작업 할 때 프로젝트 진행과정에서 발생하는 수정사항이나 백업이 필요한 부분을 저장하기 위해 위와 같이 여러 개의 파일을 폴더 내에 복사하고 파일명을 구분되게 하는 방법을 사용한다. 이것을 버전 관리라 볼 수 있다. 하지만 이러한 방법은 프로젝트가 진행될수록 어떠한 파일이 어떤 부분이 변경된 것이고 왜 복사..
Git 호스팅 서비스를 제공하는 곳은 많이 존재하지만, 대표적으로 3대장인 요놈들(좌측부터 Github, Bitbucket, Gitlab)이 있다. 요 3대장들은 다른 서비스들과는 다르게 Issue 관리 등의 편리한 기능들을 제공하고 있는데, 각자 가격 정책이 다르다. 우리나라 사람들은 Gitlab을 잘 모르는 것 같길레, 내가 아는 선에서 가난한 개발자들을 위한 가성비 비교글을 작성해보려고 한다. 글 작성일 : 2017년 5월 16일 약어의 경우 다음과 같다. Repo -> Repository의 줄임말, 저장소를 의미한다. LFS -> Git Large File Storage의 줄임말, 이게 뭔지는 스스로 찾아볼 것. 1. Github - 특징 - Git 호스팅 서비스에선 선두주자이다. 오픈소스의 본고..
깃(Git)을 이용하여 작업을 하다가 리베이스(rebase) 실수 또는 잘못된 명령어나 조작 실수 등 다양한 이유로 인해 자신의 피땀눈물이 담긴 커밋(commit)들을 날려먹는 경우가 은근히 있다. remote에 push해서 백업을 만들어놓고 로컬에서만 작업했으면 다시 remote 저장소에서 받아오면 되지만, 그렇지도 않은 경우에는 어떻게 이 지워진 커밋들을 다시 읽어오거나 복원할 수 있을까?다행히도 한번이라도 commit이 된 내용이라면, 심지어 현재 보이는 git tree 상에 보이지 않는 commit들 까지도 local git repository안에 commit log들이 남아 있다. 덕분에 이를 검색해서 해당 commit 상태로 복원 할 방법이 존재한다.git의 명령어 중에 reference lo..