사용법 정리[Day43] Git

code를 작성하면 version 관리가 필요한 경우가 있는데요.

지금까지는 혼자 작업하다 보면 그대로 local에 폴더를 만들어서 작업하는 경우가 대부분이었는데,

Git, subversion과 같은 버전 관리 툴을 알고 사용해 보려고 한다.

요즘은 git가 더 유행하는 것 같아서 사용법 정리를 좀 해.

우선 인스톨은 인터넷에 나와 있는 대로, 아래의 명령 하나로 인스톨 완료.

sudo apt-get install git

  • 사용법 및 원리
  • git 사용 목적이 버전 관리이기 때문에 어떻게 코드를 update하고 이전 버전으로 rollback하느냐가 가장 중요한 것.
  • 마찬가지로 나머지 부가적인 기능을 나중에 천천히 살펴보도록 합시다.
  • git는 아래와 같은 status에서 file을 관리하는데, 아래의 포스팅에 정리되어 있다.

참조: https://ifuwanna.tistory.com/193 개요기(Git)의 장점 중 하나는 대부분의 명령을 로컬에서 실행한다는 점입니다. 원격 스토리지(remote Repository) 정보가 필요할 때만(pullpush 등) 네트워크가 필요하며, 그 외에는 오프라인 환경에서도.. ifuwanna.tistory.com

  • – git init, commit, add
  • 사용하는 폴더에 가서 gitinit 하면 .git 파일이 생겨 관리 가능

처음 init 이후에는 commit을 해야 head가 master를 가리키게 된다.

여기서 head는 이전 학부 때 linked list 때 배웠던 개념과 같은 것으로 보인다(처음을 가리키는 포인터).

파일추가는 commit전에 add해서 commit 대기상태로 해주세요.

원하는 파일만 따로 setting 가능 (다 하고 싶다면?)붙이면 되고)

  • 코드버전 표시에 우선 아래 포스팅에 reset과 revert의 차이가 자주 있기 때문에 http://victorydntmd.tistory.com/791.reset와 revert 작업을 진행하다가 실수로 중요한 파일을 삭제하거나 올바르게 병합되지 않았을 경우 잘 작동하던 이전 버전으로 돌아가야 합니다. 이것이 버전 관리를 하는 이유이며 이때 사용하는 이름. victorydntmd.tistory.com 아직 이해가 되지 않는다……
  • 예를 들어 rev1→rev2→rev3→rev4→…이렇게 코드가 정리된다면
  • 내가 gitreset–hardrev2 이렇게 하면 rev2로 돌아가고 rev3rev4는 완전히 삭제된다(보이는 만큼 보이지 않는 것….reflog로 하면 rev3,4로도 돌아갈 수 있다)
  • 만약 gitrevertrev2 이렇게 하면 rev2에서 진행된 이력만 취소된다(충돌할 수 있으며 mergetoolsetting 필요)
  • 따라서 rev3, rev4에서 이루어진 것은 그대로 유지된다.
  • reset 옵션 – soft:index 저장(add한 상태, staged 상태), 워킹 디렉터리의 파일 저장. 즉 모두 저장. – mixed: index 취소(add하기 전 상태, unstaged 상태), 워킹 디렉토리의 파일 저장(기본 옵션) – hard: index 취소(add하기 전 상태, unstaged 상태), 워킹 디렉토리의 파일 삭제. 즉 모두 취소.
  • 조금 공부해보니 reset을 할 때 이전 버전으로 돌아가서 commit을 했을 경우, 그 후 버전으로 돌아가고 싶을 때 id를 어떻게 보는지 몰랐는데,
  • gitreflog를 치면 내가 commit한 모든 것이 보여서 이동 가능한 것 같다.

https://git-scm.com/book/ko/v2/Git-%EB%8F%84%EA%B5%AC-Reset-%EB%AA%85%ED%99%95%ED%9E%88-%EC%95%8C%EA%B3%A0-%EA%B0%80%EA%B8%B0Chapters22ndEdition7.7Git 툴-Reset 명확하게 알아가는 Reset 명확하게 알아가는 Git의 다른 특별한 툴을 더 보기 전에 reset와 checkout에 대해 이야기해 보자. 이 두 명령은 Git를 처음 사용하는 사람을 가장 혼란스럽게 하는 부분이다. 제대로 이해하고 사용할 수 없다고 생각될 정도로 많은 기능을 가지고 있다. 이해하기 쉽고 간단한 비유를 들어 설명해 보자. 3개의 트리 Git를 서로 다른 3트리를 관리하는 컨텐츠 관리자에게 생각하면 reset과 checkout을… git-scm.com가 포스팅 보면서 공부 좀 보태야 사용할 수 있듯이… 이해가 잘 되지 않습니다.

———————————————————————————–https://opentutorials.org/module/4032/24550git revert 2019-03-2709:49:09 수업소개 revert가 동작하는 방법을 보고 충돌이 일어났을 때 어떻게 처리할지를 알려드립니다. 강의 1 revert가 무엇인지 이론적으로 살펴보겠습니다. 강의 2 revert를 해봅시다! 강의 3 충돌이 일어나는 이유를 알아보겠습니다. 강의 4 충돌을 해결합시다! opentutorials.org 이분이 정리한 동영상이 제가 바로 원하던 동영상이라는 것 코드의 중간중간으로 바꾸려는 상황인데 나중에 참조

————————————————————————————————————————————————-최초 생성:git init파일 staged상태로 함:git add파일 이름(git add-p으로 하는 경우, 하나하나 체크하며)commit책임 전가:git commit-amendcommit 하는:git commit-m”로그”add취소:git reset HEAD파일명 commit취소:git reset HEAD^untracked file삭제:git clean(-d:디렉토리까지 삭제,-x:무시된 파일의 삭제,-f:파일의 삭제,-n:가상 삭제)모든 이력 전부 보기:git reflogmerge tool 설정:git configmerge. tool vimdiff 다른 부분 보기:git diff(–color-words) or (–color-diff) modified 해제:git checkout–file 이름

https://leehc257.tistory.com/13?category=896297git은 파일의 변경 내용을 추적하면서 버전을 관리하기 위한 분산, 버전 관리 시스템인 누가 어디서 무엇을, 왜 바꿨는지를 저장하면서 관리하는데 이를 저장하는 곳을 Repository라고 부르는 이는 콜라보를 통한 프.leehc257.tistory.com

error: Content is protected !!