분류 전체보기(472)
-
(9) git branch
git branch란 하나의 흐름에 다른 흐름의 필요가 생겨서 분기하여 다른 흐름으로 진행할 수 있게 해주는 것을 의미한다. 필자는 클라이언트 개발자와 서버 개발자들이 나누어서 작업을 하였을 때나 사람마다 작업을 나누어서 해야할 필요가 있었을 때 사용했다. 간단하게 본다면 아래와 같은 구조로 이루어져 있을 것 같다. git branch branch의 목록과 현재 사용하고 있는 branch를 확인할 수 있습니다. 원래의 흐름을 Master라고 하고 branch를 만들어 놓은 것이 없기 때문에 branch가 하나뿐이다. 그리고 옆에 *이 붙어있으면 현재 사용중인 branch이다. git branch "생성하고 싶은 이름" 새로운 branch를 생성하고 싶으면 위와 같은 명령어를 사용해주면 된다. 필자는 ex..
2019.04.29 -
(8) git 과거 버전으로 돌아가기(revert, reset)
버전 관리중에 주요한 기능 중 하나인 과거버전으로 돌아가기에 대해 알아보겠습니다. 주록 git reset과 git revert를 통해 돌아갈 수 있는데 이 둘의 차이점은 reset은 commit의 기록을 삭제한채 되돌아가는 것이고 revert는 커밋의 기록을 유지한채 되돌아가는 것이다. git reset git reset 이라는 명령어를 통해 과거의 commit기록이 남아있는 곳으로 돌아갈 수 있습니다. 현재 저의 git log는 아래와 같습니다.(이전 글에서 전체 커밋을 한번 더 해줬습니다.) 저는 여기서 c34c....의 로그 기록으로 되돌아 가보겠습니다. 커밋이 기록된 곳 까지 이동할 수 있습니다. --hard 옵션사용하기 git reset c34c7f98d95529d2d62e706b8bce1965..
2019.04.29 -
Hashing
Hashing의 권오흠 교수님의 수업을 들으며 교수님께서 말하긴 이 친구는 너네 식으로 말하면 치트키다라는 말씀이 인상깊었다. 그럼 왜 그런말을 했는지 알아보자!! Binary Search Tree는 Hashing과 비슷한 Dynamic Set이다. Dynamic Set은 동적으로 데이터가 저장되고 삭제되고 검색하는 것을 뜻한다. Binary Search Tree는 높이에 비례하기 때문에 insert, search, delete는 O(n)이고 red black은 O(logn)입니다. 그렇지만 Hashing은 O(1)의 시간이 소요된다. 혹은 최악으로 O(n)이 소요된다. 왜 이렇게 되는지 알아보자!! 기본적으로 key와 value의 조합으로 이루어 져있으며 (key, "hoony) 이러한 형태로 이루어 ..
2019.04.29 -
(7) git 변경사항 알아보기
git log -p 라는 명령어를 통해 각 커밋별로 이전 커밋과의 차이점을 확인할 수 있습니다. 밑의 사진을 예로 들면 hihi 3라는 텍스트가 추가된 것을 볼 수 있습니다. 앞선 --- a/hi.txt는 이전 커밋에서는 hihi3가 없었고 +++b/hi.txt에는 이번 커밋에 새롭게 생성되었다. 라는 뜻입니다. git diff bf79d9b5f0ce0bb173e0570334554411512dcc3d..b3cdcfe76b8c3c3137e0838d50c6f5e8e3579cdf 로그 명을 복사하여 자기가 원하는 범위내에서 변화를 확인할 수 있습니다. 아래와 같이 확인할 수 있다. 단순한 git diff 사용하기 add를 해주지 말고 일단 특정한 파일에 변화를 줍니다. 저는 hi.txt에 변화를 주겠습니다. ..
2019.04.27 -
(6) git stage Area
stage Area 이전에 commit을 해주기전에 add를 사용한 후 commit을 해주는 시간을 가졌습니다. 그럼 왜 add를 매번해주어야 할까요?? 이는 자기가 commit 해주고 싶은 파일과 안해주고 싶은 파일이 있을 수 있는데 선택하여 commit 할 수 있게 해주기 위해서 입니다. 아까 hi.txt를 수정해준 후 복사해주어서 hi2.txt를 만들어주겠습니다. cp hi.txt hi2.txt git status git status를 통해 확인해보면 둘다 commit이 가능한 stage에 올라가있지 않은 것을 알 수 있다. 그래서 hi.txt에 git add 를 해준 후 결과를 확인해보자! git add hi.txt git status hi.txt가 stage에 올라온 모습을 볼 수 있다. 그럼 ..
2019.04.27 -
(5)git commit
[GIT] - (4) git user.email, user.name 등록 [GIT] - (3) git add [GIT] - (2)git 폴더만들기 [GIT] - (1)git 설치하기 git commit 사용하기 이전편에서 git의 유저 정보들을 등록했습니다. 그럼 이번에는 버전을 만들어보겠습니다. git commit 쳐주면 아래와 같은 git status의 글들이 나온다. 사실 #으로 적혀져있는 것은 다 무시되기 때문에 걍 무시하면 된다. # 밑에 부터가 중요하다. 이 버전의 변화가 갖는 메세지를 작성해주어야한다. 예를 들어서 db schema의 변화가 있으니 어떻게 어떻게 바뀌었다 라던가 아니면 새로운 파일이나 스레드가 생성되었으니 알아주세요 등의 메세지를 넣을 수 있다. 왜 변경되었는지 이유를 적을 ..
2019.04.27