코딩해보니/Git60 [Git_23] 커밋 되돌리기 - 리버트(revert) 앞서 확인한 리셋(reset)은 없었던 일처럼 커밋 이력을 삭제하며 되돌렸습니다. 이는 혼자 개발을 한다고 하면 괜찮을 수 있겠지만, 여러 명이 함께 프로젝트를 진행한다고 했을 때는 커밋 이력이 없어질 경우 황당해질 수 있습니다. 그래서 리버트(revert)를 사용해 되돌리는 게 나을 수 있습니다. 하지만 리버트(revert)는 취소할 커밋 지점을 지정하면 지정한 지점의 직전 커밋 정보로 새로운 커밋을 생성한다는 것으로 이해하고 있을 것입니다. 마찬가지로 앞서 구성해 뒀던 커밋 이력을 바탕으로 리버트(revert)를 실습해 보겠습니다. 리버트(revert) 명령 실습하기 reset(리셋)을 사용해 세 번째 커밋 지점으로 되돌린 결과와 같은 결과를 revert를 사용해 만들기 위해서 reset과 같이 $ .. 2022. 12. 21. [Git_22] 커밋 취소하기 : reset --hard & 소스트리에서 리셋하기 reset (리셋) - 커밋 취소하기 reset 명령어는 옵션을 함께 사용해야 하며, 사용할 수 있는 옵션은 3가지가 있습니다. --soft : 스테이지 영역을 포함한 상태로 복원합니다. --mixed : 기본 옵션 값은 mixed입니다. reset 명령어를 사용할 때 옵션을 지정하지 않으면 기본값인 mixed로 지정됩니다. --hard : 실제 파일이 삭제된 이전 상태로 복원합니다. soft 옵션과 mixed 옵션 차이는 크게 스테이지 영역과 관련이 있습니다. hard 옵션은 워킹 디렉터리와 관련이 있습니다. 각 옵션의 차이점과 동작에 대해 실습을 통해 확인해 보고 있습니다. 마지막으로 --hard 옵션에 대해 확인해 보겠습니다. 마찬가지로 커밋 이력은 다시 맞추도록 하겠습니다. 다시 네 번째, 다섯 .. 2022. 12. 20. [Git_21] 커밋 취소하기 : reset --mixed reset (리셋) - 커밋 취소하기 reset 명령어는 옵션을 함께 사용해야 하며, 사용할 수 있는 옵션은 3가지가 있습니다. --soft : 스테이지 영역을 포함한 상태로 복원합니다. --mixed : 기본 옵션 값은 mixed입니다. reset 명령어를 사용할 때 옵션을 지정하지 않으면 기본값인 mixed로 지정됩니다. --hard : 실제 파일이 삭제된 이전 상태로 복원합니다. soft 옵션과 mixed 옵션 차이는 크게 스테이지 영역과 관련이 있습니다. hard 옵션은 워킹 디렉터리와 관련이 있습니다. 각 옵션의 차이점과 동작에 대해 실습을 통해 확인해 보고 있습니다. 지난번 --soft 옵션에 이어서 --mixed 옵션에 대해 확인해 보겠습니다. mixed 옵션은 기본값으로 reset 명령어 .. 2022. 12. 19. [Git_20] 커밋 취소하기 : reset --soft reset (리셋) - 커밋 취소하기 reset 명령어는 옵션을 함께 사용해야 하며, 사용할 수 있는 옵션은 3가지가 있습니다. --soft : 스테이지 영역을 포함한 상태로 복원합니다. --mixed : 기본 옵션 값은 mixed입니다. reset 명령어를 사용할 때 옵션을 지정하지 않으면 기본값인 mixed로 지정됩니다. --hard : 실제 파일이 삭제된 이전 상태로 복원합니다. soft 옵션과 mixed 옵션 차이는 크게 스테이지 영역과 관련이 있습니다. hard 옵션은 워킹 디렉터리와 관련이 있습니다. 각 옵션의 차이점과 동작에 대해 실습을 통해 확인해 보겠습니다. 먼저, --soft 옵션에 대해 확인해 보겠습니다. reset --soft soft 옵션은 가장 낮은 단계의 리셋 동작인데, 일단 .. 2022. 12. 15. [Git_19] 커밋 취소하기 - reset 방법 3가지 지난 시간에 커밋한 이력에 대해 취소(reset)와 되돌리기(revert)에 대한 차이점을 알아봤습니다. 이어서 커밋 취소하기(reset)에 대해 자세히 알아보겠습니다. reset (리셋) - 커밋 취소하기 reset(리셋)으로 커밋을 취소하는 것을 실습을 통해 확인해 보겠습니다. 실습을 위해 커밋을 다섯번 진행하도록 하겠습니다. 저는 앞서 filea.html과 fileb.html 상태에 이어서 세 번째 커밋을 하고, 이후 fileb.html을 수정 후 네번째 커밋을 하고, 다시 fileb.html을 수정 후 다섯 번째 커밋을 진행합니다. 그 결과를 소스트리에서 확인한 결과가 다음과 같습니다. 다섯 번째 커밋 버전의 filea.html와 fileb.html 내용은 다음과 같습니다. * 파일 filea.h.. 2022. 12. 14. [Git_18] 커밋의 취소하기(reset)와 되돌리기(revert) 차이점 커밋한 이후에도 커밋을 되돌려야 할 경우가 있을 수 있습니다. 엄밀히 얘기하면 커밋을 취소하는 것과 되돌리는 것은 Git에서는 다른 의미입니다. 지금은 학습을 위해 간단하게 filea.html, fileb.html과 같이 임의로 생성해서 실습을 해보고 있습니다만, 실제 개발을 하는 경우에는 수많은 코드를 작성하고 테스트하는 과정을 가지게 됩니다. 실무에서도 개발자의 손에서 개발이 완료되면 커밋을 하고 테스트 환경에 배포해서 테스트를 거치게 되고, 이 과정에서 수정 사항이 수 없이 발생합니다. 이러한 과정속에 심각한 경우에는 아예 예전으로 돌리고 다시 시작하는 경우가 있을 수 있습니다. 이런 경우도 종종 발생합니다. 버전 관리는 이런 때에 더욱 빛을 발합니다. Git을 사용하면 언제든지 원하는 시점으로 전.. 2022. 12. 13. [Git_17] 스테이지에 등록한(올린) 파일을 취소(삭제)하기(내리기) 다시 조금은 돌아가서, 커밋을 하기까지의 과정을 다시 한번 상기해 보겠습니다. ① 워킹 디렉터리에서 파일을 생성 또는 수정 등 작업을 합니다. ② 작업이 완료되면 커밋을 위해 스테이지에 작업한 파일들을 등록(add)해서 커밋할 인덱스(Index)를 구성합니다. ③ 스테이지에 추가한 이후에 추가 수정할 부분이 있을 경우, ①, ②를 반복하게 됩니다. ④ 더 이상 수정할 사항이 없을 경우 커밋(commit)을 진행합니다. 위 과정에 있어서 여러 가지 상황이 있을 수 있습니다. 커밋을 하기 위해서는 스테이지에 등록하는 과정을 반드시 거쳐야 합니다. 하지만 커밋할 내용을 다시 구성해야 할 경우가 있을 수 있습니다. 그래서 스테이지에 등록한 것을 취소해야 할 경우가 생길 수 있는데, 스테이지에 등록한 파일을 취소.. 2022. 12. 9. [Git_16] 커밋(Commit)의 이해 - 커밋 이력 확인하기 지난 시간 커밋하는 방법을 알아봤습니다. [Git_15] 커밋(Commit)의 이해 - 커밋 하기 커밋(commit)은 그냥 영단어의 의미로는 왜 커밋이라고 했는지 이해가 되지 않습니다. ㅎㅎ IT에서는 커밋은 다양하게 쓰입니다만, 전반적으로 저장되지 않은 모든 데이터를 데이터베이스에 저장 wishlan.tistory.com 첫 번째 커밋 후 이력 확인하기 이어서 커밋한 후 커밋한 이력(히스토리)을 확인해 보겠습니다. 커밋한 기록은 log 명령어로 확인할 수 있습니다. 사용법은 다음과 같습니다. # 커밋 이력(히스토리) 확인하기 $ git log $ git log를 실행한 화면은 다음과 같습니다. log 명령어는 시간 순으로 커밋한 이력을 출력하는데, 최신 커밋 기록부터 내림차순으로 나열합니다. 우리는 .. 2022. 12. 8. [Git_15] 커밋(Commit)의 이해 - 커밋 하기 커밋(commit)은 그냥 영단어의 의미로는 왜 커밋이라고 했는지 이해가 되지 않습니다. ㅎㅎ IT에서는 커밋은 다양하게 쓰입니다만, 전반적으로 저장되지 않은 모든 데이터를 데이터베이스에 저장하고 현재 실행 중인 일들을 종료하라는 명령으로 사용됩니다. Git은 개발 소스의 이력을 관리합니다. 이력을 관리하기 위해서는 소스의 변경 사항, 변경된 사항을 시간순으로 기록해야 합니다. Git에서 커밋은 쉽게 얘기하면 소스의 변경된 사항, 변경된 지점을 저장하는 것이라 할 수 있습니다. 특히, 여러 명이 함께 프로젝트를 진행한다고 하면, 누가 언제 어디를 수정했는지 관리되어야 합니다. 커밋으로 그 변화를 기록하게 되는데, 어떻게 동작하고 사용할 수 있는지 학습하도록 하겠습니다. 커밋(Commit) 하기 앞서 포스.. 2022. 12. 6. [Git_14] 실습을 통해 Git 완벽 이해하기 실습을 통해 Git 이해하기 Git을 구성하는 3개의 영역과 파일에 대한 상태를 실습을 통해 확인해 보겠습니다. 본 실습을 통해 아주 기본적인 Git의 명령어들도 여러 가지 알 수 있습니다. 앞서 우리가 만든 저장소 firstrepo에서 터미널(Git Bash)을 실행합니다. 해당 폴더로 가서 마우스 오른쪽 버튼을 클릭하고 “Git Bash Here” 메뉴를 통해 빠르게 실행할 수 있습니다. 아니면, Git Bash 를 실행하고 firstrepo 폴더로 이동하면 되겠습니다. 실행한 터미널은 다음과 같습니다. 터미널 실행 후 경로가 firstrepo 인지 다시 한번 확인하고 뒤에 (master)가 표시되어 있는지 확인합니다. (master) 표시가 없다면, git init 명령어로 깃을 초기화해 보기 바랍.. 2022. 11. 22. [Git_13] Git 개념 잡기 - Git에서 파일 상태 이해 하기 Git에서 구성되는 3가지 영역에 대해 알아봤습니다. [Git_12] Git 개념 잡기 - 워킹 디렉토리, 스테이지, 저장소 앞서 Git을 구성하는 영역에 대해 살펴봤습니다. [Git_11] Git 개념 잡기 - Git 영역 살펴보기 Git 개념 잡기 (Git 영역 살펴보기) 개발자로서 길을 걸어가면서 제일 중요하게 생각되었던 것이 있습니다. wishlan.tistory.com 알아보는 과정에 tracked, untracked 등의 파일 상태를 나타내는 용어들이 있었습니다. 이번엔 파일의 상태를 알아보고자 합니다. Git에서는 파일의 상태를 다음과 같이 다양하게 구분하고 있습니다. tracked(추적) 상태와 untracked(비추적) 상태 stage(스테이지에 등록된) 상태와 unstage(스테이지에 .. 2022. 11. 18. [Git_12] Git 개념 잡기 - 워킹 디렉토리, 스테이지, 저장소 앞서 Git을 구성하는 영역에 대해 살펴봤습니다. [Git_11] Git 개념 잡기 - Git 영역 살펴보기 Git 개념 잡기 (Git 영역 살펴보기) 개발자로서 길을 걸어가면서 제일 중요하게 생각되었던 것이 있습니다. 무엇이든 개념을 잘 알고 있어야 한다는 것입니다. 개발자로 처음 회사에 입사해서 업 wishlan.tistory.com 아래 그림과 같이 평범했던 폴더(디렉토리)가 $ git init 명령을 통해 Git 영역이 되고, Git 내부적으로 어떻게 논리적으로 구성이 되는지 확인했습니다. 워킹 디렉토리(Working Directory) Git이 버전을 관리하기 위해 구성하는 영역 중에 워킹 디렉토리(Working Directory)를 살펴보겠습니다. 워킹 디렉토리는 워킹 트리(working tr.. 2022. 11. 17. 이전 1 2 3 4 5 다음