Cloud/Git

Cloud/Git

Commit Convention (유다시티 커밋 메세지 스타일 가이드)

커밋 컨벤션커밋(Commit)은 프로젝트의 변경사항을 메시지와 함께 저장하는 것을 의미한다. 커밋을 하게 되면 메시지가 남는데 이를 통해서 자기가 작업했던 시점으로 돌아가거나, 수정된 내역을 찾아서 프로젝트 진행에 있는 부분에 있어서의 등등 여러 이점을 받을 수 있다. 혼자 작업한다면, 자신이 알아보기 쉽게만 커밋 메세지를 작성해도 무방하나, 협업 같은 활동을 하게 된다면 읽는 사람이 이해하기 쉽도록 메시지를 작성하여야 한다. 해당 문제를 해결하기 위해서 다른 사람들이 자주 사용하는 커밋 스타일을 정하고 이를 활용한다면 많은 효과를 가져다줄 것이라고 생각한다.  따라서 사람들이 자주 사용하고 있는, Udacity의 깃 커밋 스타일 가이드를 바탕으로 커밋 컨벤션을 정리하려고 한다.    커밋 메세지의 구조..

Cloud/Git

Learn Git Branching을 통해서 브랜치 관리 배우기 (메인 브랜치편)

오늘은 Learn Git Branching을 통해서 깃허브 명령어를 정리해보고자 한다.     Learn Git BranchingLearn Git Braching이란 Git branch을 사용하는 방법을 가이드와 그림으로 나타내어 학습할 수 있는 사이트이다.  Learn Git BranchingAn interactive Git visualization tool to educate and challenge!learngitbranching.js.org 해당 사이트에 들어가보면, git명령어에 대한 소개를 소스트리와 실습을 통해 알려주는데, 오늘은  이를 통해 해당 기능들을 모두 학습해보려 한다.     Commitgit 저장소에 스냅샷에 대한 기록을 남기는 것..

Cloud/Git

특정 Commit으로 되돌리기

커밋 되돌리기만약 작업을 하다가, 해당 개발 기능에 문제가 심각하게 생겨서 전에 만들어 둔 커밋을 돌아가야하는 경우가 있다. 예를 들어 bugfix 커밋 부분으로 되돌아가서 처음부터 작업해야 하는 상황에 직면했다고 가정한다.  과정을 정리하면 다음과 같다. git log을 통해 커밋 해시값을 찾는다. 되돌아 가고 싶은 커밋 해시값을 이용하여 git checkout 해시값으로 해당 커밋으로 되돌아간다. 해당 커밋에서 작업을 이어가고 싶다면 git checkout -b "branch_name"을 이용하여 새로운 브랜치를 만들어 작업을 이어나간다. 일단 git log 명령어를 통해 되돌아가고 싶은 커밋의 해시를 찾는다. 일반적으로 git log 명령어로 나오는 해시값은 아주 길지만, git log --onel..

Cloud/Git

Stash

Stash만약 #1 브랜치에서 testfile1을 만들고 #2 브랜치로 이동하는 상황이라고 가정한다. 해당 경우 #1에서 testfile1을 만들고 #2 브랜치로 이동해서 #2 브랜치에서는 testfile2가 없을 것이라고 생각이 들겠지만 직접 실행해보면 스테이징되지 않은 변경사항이 계속 따라다니는 것을 알 수 있다. 현재는 #1 브랜치에서 #2 브랜치로 이동하는데 있어서 충돌나는 파일이 없어서 쉽게 이동이 가능하지만, 충돌 나는 파일이 있다면 깃에서 브랜치 이동을 하지 못하도록 막는다.  따라서 작업했던 내용을 어딘가 저장해두고 안전하게 브랜치를 이동할 수 있는 기능이 필요한대 이를 stash 명령어가 제공해준다. Stash는 커밋하지 않은 변경사항들을 임시저장하고 불필요한 커밋으로 이력이 지저분해지는..

Cloud/Git

Branch와 Merge

Branch브랜치를 설명하기 전, 깃이 어떻게 동작하는지에 대해서 설명 후 브랜치가 왜 필요한지에 대해 설명하고자 한다. 일반적으로 깃에서 우리가 커밋을 날리면, 각 커밋은 숫자와 문자가 조합된 해시를 갖는다. 모든 커밋은 독특한 해시와 이전에 있었던 부모 커밋을 참고하고 있는 형태로 존재한다.  우리가 어떤 프로젝트를 하게 되면, 여러 기능들을 개발하게 되는데 이렇게 순차적으로 작업해서 한 작업 다음에 다음 작업을 하는 식이라면 시간도 많이 들고, 전에 있던 작업을 마무리 짓지 못하면 다음 단계로 넘어가지 못하는 현상이 일어나게 된다.  따라서 해당 문제를 해결하기 위해서, 각자의 작업을 독립적이게 진행하고 어느 시점에 다다랐을 때, 모든 기능을 합쳐 관리한다면 좀 더 효율적이게 프로젝트를 진행할 수 ..

Cloud/Git

Repository와 Commit

Repository리포지토리는 깃 이력(파일 변경 이력)을 저장하는 저장소로써 깃 이력이 들어가는 병에 비유할 수 있다. 각 프로젝트는 하나의 리포지토리를 가지고 있으며 해당 리포지토리를 통해 버전을 관리할 수 있다.    이번에는 파일 변경 내역을 추적하기 위해 폴더를 깃 레포지토리로 만들고 파일 변경을 추적해 보도록 하자.testcase 폴더를 만든 뒤, 해당 폴더에 접속한다.git init을 통해 해당 폴더를 깃 리포지토리로 만들어 파일 변경 이력을 추적한다. 파일 변경 이력을 추가하기 위해, helloworld 파일을 만든다.변경된 파일을 git status을 통해 조회한다.  git init : 해당 폴더를 파일 변경 이력이 추적가능한 깃 리포지토리로 만든다. 이때 해당 폴더에서는 git 관련 ..

Cloud/Git

Git설치와 설정

Git 설치Git : https://www.git-scm.com/ 깃은 운영체제마다 설치하는 방법이 상이함으로 운영체제를 잘 확인해서 설치하여야 한다.   현재 나는 MacOs을 사용하는데 Mac에서는 Homebrew을 이용하여 설치하는 것을 권장하고 있다.     Git 설정깃을 설치하고 나선 깃에게 우리가 인지, 이 컴퓨터에서 작업을 수행하는 대상이 누구인지 알려줄 의무가 있다. 따라서 깃을 설치하고 나서는 반드시 유저의 이름과 이메일을 설정해야 한다.  git config --global user.name "Jheaon"git config --golbal user.email "Jheaon@naver.com"

Cloud/Git

Git과 Github

Git버전 관리 시스템으로, VCS(Version control Service)라고도 한다. 깃은 파일 버전을 관리를 해주기 때문에, 코드를 저장해 주는 역할뿐만 아니라 공공 기관에서 데이터의 버전을 저장하고 관리하는 역할까지 무궁무진하게 활용되고 있다.버전 관리 시스템 : 파일의 변화를 시간에 따라 추적하고 관리하는 시스템 (쉽게 말하자면 프로젝트 내에 세이브 포인트를 제공하는 서비스)으로 이전 버전의 파일을 비교하거나 되돌아갈 때 큰 도움을 준다. Githubgithub는 웹 사이트에 자신의 프로젝트를 올린 뒤 해당 프로젝트를 다른 사람과 관리할 수 있도록 해주는 서비스이다. 깃과 비교해보자면 깃은 버전 관리 소프트웨어, 깃허브는 버전 관리를 다른 사람과 공유할 수 있도록 하는 서비스이다.

JHeaon
'Cloud/Git' 카테고리의 글 목록