사용법 정리 [Day43] Git

코드를 생성하면 versio n관리가 필요한 경우가 있는데요.

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

Git, subversion과 같은 버전 관리 tool을 알고 사용을 해보도록 하겠습니다.

요즘은 git가 더 인기가 있는 것 같아 사용법을 정리한다.

일단 설치는 인터넷에 떠있는 대로 아래 명령어 하나로 설치 끝.

sudo apt – get install git

  • 사용법 및 원리
  • git의 사용목적이 버전 관리이기 때문에 코드를 어떻게 update해서 이전 버전으로 roll back 하느냐가 가장 중요해요.
  • 마찬가지로 나머지 부가적인 기능들을 나중에 천천히 살펴보도록 합시다.
  • git는 다음과 같은 status로 파일을 관리하는데, 다음과 같은 포스팅에서 정리가 좋다.

참조:https://ifuwanna.tisto ry.com/193 개요의 옷깃(Git)의 장점 중 하나는 대부분의 명령어를 로컬에서 실행한다는 점입니다. 원격 저장소 정보가 필요할 때만 (풀 플러스 등) 네트워크가 필요하고 그 외에는 오프라인 환경에서도. ifuwanna.tistory.com

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

첫 번째 init 이후에는 commit를 하면 head가 master를 가리키게 된다

여기서head는예전에학부때linkedlist에서배웠던그개념과똑같이보인다(첫번째를가리키는포인터)

파일 추가는 commit 전에 add하고 commit 대기 상태로 하시면 되겠습니다.

필요한 파일만 따로 setting 가능 (모든 것을 다 쓰고 싶을 경우 붙이면 됨)

-코드 버전으로 돌아가유우처, 아래의 포스팅에 reset와 revert의 차이가 자주 나오는 https://victorydntmd.tistory.com/791.reset와 revert작업을 하다가 실수로 중요한 파일을 삭제하거나 정상적으로 병합되지 않으면 정상으로 동작한 이전 버전에 돌아갈 필요가 있습니다. 이것이 버전 관리를 하는 이유이다, 이때 사용하는 이름. victorydntmd.tistory.com아직 이해할 수 없다.

예를 들어 rev1→ rev2→ rev3→ rev4→… 이렇게 코드가 정리되면

내가 gitreset-hardrev2로 하면 rev2에서 rev3rev4는 삭제된다( 보이는 것만 보이지 않는 것… reflog으로 하면 rev3,4에도 돌아갈 수)

만약 git revert rev2로 하면, rev2에서 열린 이력만 취소(충돌할 가능성 있는, mergetool setting이 필요).

그래서 rev3, rev4에서 열린 것은 그대로 유지된다.

reset옵션 – soft:index저장(add된 상태, staged상태), 워킹 디렉터리의 파일 저장. 즉 모두 보존. – mixed:index취소(add하기 전의 상태, unstaged상태), 워킹 디렉터리의 파일 저장(기본 옵션)– hard:index취소(add하기 전의 상태, unstaged상태), 워킹 디렉터리의 파일 삭제. 즉 모두 취소.

좀 깍아 보면 reset을 할 때 이전 버전으로 돌아가고 commit한다면 이후의 버전으로 돌아가고 싶을 때, id를 어떻게 보는지 몰랐는데,

git reflog를 치면 내가 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%B0Chapters 2 2nd Edition 7.7 Git툴-Reset분명히 알아 가는 Reset분명히 알아 가Git의 다른 특별한 툴을 더 보기 전에 reset과 checkout에 대한 이야기를 보자. 이 2개의 명령은 Git를 처음 쓰는 사람을 가장 혼란시키는 부분이다. 올바르게 사용할 수 없다고 느껴질 정도로 많은 기능을 갖고 있다. 이해하기 쉽고 간단한 비유를 들어 설명하고 보자. 세 트리 Git을 서로 다른 세 트리를 관리하는 콘텐츠 관리자로 생각하면 reset과 checkout.git-scm.com가 포스팅 보면서 공부 좀 더해야 사용할 수 있도록…이해가 잘 안 됩니다

————————————————————————————————————————————————-https://opentutorials.org/module/4032/24550git revert 2019-03-27 09: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 config merge. 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 !!