🔐 0. GIT오리지널?

앞으로의 GIT공부 관련 공부내용은 전부 GIT오리지널 프로그램을 이용할 것

왜 굳이 오리지널을 공부하냐 라는 말이 많이 나오겠지만 소스트리, 깃허브 데스크톱등 다양한 프로그램의 GUI로 한눈에 이해하며 다룰 수 있겠지만 나는 많은 개발자들이 깃프로그램을 많이 사용하는 이유가 있다고 생각한다.

모든 곳에서 적용되는 말은 아니지만 오리지널에 가까울수록 좀더 자유성이 확보된다.
GUI에 가려진 내부상황도 확실하게 이해할 수 있으며 어디가 문제인지 정확하게 파악할 수 있기 때문이다.

무언가를 이해할려면 자신이 뭘 모르고 아는지 정확하게 아는 것이 제일 중요하다고 생각한다.(소크라테스..)

나는 GIT을 학습만 하고 그만 두거나 잠깐 맛보는게 아닌 앞으로 사용해야하는 프로그램이기 때문에 확실히 내부까지 들여다 보는 학습을 하겠다.


🔐 1. 설치

https://git-scm.com/ 에서 설치를 진행한다.(Window기준)
깃설치 이미지


🔐 2. 실행

window검색창에 git이라고 치면 git bush라는 프로그램이 뜬다.
깃브러쉬 이미지
이것은 콘솔또는 터미널이라고 부르는데 윈도우의 cmd나 mac의 shell같은 원초적인 프로그램이다.

프로그램이 실행되면 git이라고 칠 경우 여러가지 프로그램 설명이 나오면 올바르게 설치가 된것이다.


🔐 3. git init

깃브러쉬(터미널)을 실행하고 원하는 디렉토리로 cd명령어로 이동한 뒤 git init .으로 현재 디렉토리 초기화 설정 후 버전관리할 디렉토리로 지정한다.

설정 후 에는 ls -al로 현재디렉토리 파일 조회를 해보면 .git이라는 디렉토리가 생성되어 있다.
이는 파일탐색기에서는 숨김파일로 존재한다.

이 디렉토리가 앞으로 관리하게 되는 버전들을 담고있는 디렉토리이다.

🔐 4. GIT 기초 원리!

repository는 저장소로 처음 깃init을 설정한 디렉토리로 보거나 원격 저장소의 한 단위라고 생각하면 된다.

그 레파지토리에서 버전을 생성하기 전단계인 working tree는 여러가지 작업을 진행 할때의 상태이다.

staging area는 버전을 만들려고 할 때 working tree에 있는 파일 몇가지를 staging area에 올려 다른 버전으로 관리할 수 있다.

즉 커밋(commit)을 실행할 때 staging area에 올라가 있는 몇가지 파일만 버전으로 만들어진다.

정리하면 working tree는 파일를 수정하는 곳, staging area는 버전을 만들려고 하는 곳, repository는 버전이 만들어 진 곳으로 설명할 수 있다.

📕실습

  1. nano 로 텍스트파일 하나 생성 ex) nano hello.txt / 내용을 적고 ctal+x눌러 exit / 저장 확인 Y / enter로 퇴장 - ls -al로 파일 생성 확인 / cat 파일명으로 내용 확인
  2. git status명령어로 add상태 확인 / git add hello.txt(파일명)으로 staging area에 등록 / git status명령어로 add상태 확인 이때 버전이 될 파일들의 목록을 확인
  3. git commit -m "Message 1"를 입력 git commit은 새로운 버전을 만들겠다. 는 말이고 -m은 에디터를 이용하지 않고 “ “메세지 입력 / 이렇게 되면 staging area에 올라와 있는 파일을 repository에 저장하게 된다.

📕실습++(여러가지 파일을 버전으로 만들기)

  1. nano로 텍스트파일 두가지 생성(위와 동일하게 nano사용) / git status입력시 둘다 worging tree에 있는 상태이기 때문에 빨간줄이다.(만약 이미 add했던 파일을 수정할 시 에는 같은 빨간줄이지만 changes not staged for commit이라는 내용 출력 그에 반해 hello2.txt는 한번도 버전관리를 하지 않아서 Untracked files출력)
  2. git add로 두가지다 staging area에 올려준다.
  3. git commit -m " "버전 이름”으로 버전을 repository에 올려준다.
  4. git log로 버전확인, git status로 working tree, staging area확인

이렇게 간단하게 깃의 버전관리 3단계 working tree, staging area, repository등을 알아보기 및 실습해보았다.

기초적인 부분을 복습 및 공부하며 가장 중요한 점은 모르는 부분이 생겼을 때 바로 구글링을 통해 필요한 지식을 알아내는것이 정말 중요!!


✍️ GIT & 터미널 & 리눅스 용어 정리

  1. cd: change directory의 준말이고 디렉토리 이동 명령어이다.
  2. 디렉토리 이동: .은 현재 디렉토리, ..은 상위 디렉토리, ~은 홈디렉토리 정도로 알고 있으면 된다.
  3. pwd: print working directory의 준말로 현재 작업중인 디렉토리를 확인할 수 있다.
  4. mkdir: make directories의 준말이고 디렉토리 생성 명령어이다.
  5. ls(-a,-l,-h): list directory contents에서 유래된 명령어, 해당 디렉토리안의 파일들 조회 -a는 모든파일과 디렉토리 보여줌, -l권한, 그룹, 크기, 날짜 자세하게 보여줌 -h는 -l에서 나온 데이터를 읽기 쉽게 변환해줌 대부분 조합해서 사용 ex) ls -al
  6. git init: Initialization즉, 초기화한다. 깃으로 사용할 디렉토리로 설정
  7. cat: 파일의 내용을 출력 ex) cat hello.txt / 여러개의 파일을 전달하여 연속 사용가능
  8. git status: 현재 git 상태 출력 add되지 않은 즉, staging area에 올라가지 않은, 추적되지 않은 파일 표시
  9. git log: 커밋 기록을 볼때 사용한다. 그냥 사용할 수 있지만 –stat로 수정 및 상세 내용을 볼 수 있음 더 다양한 명령어들을 붙일 수 있지만 그때 그때 검색해서 알아보자.
  10. git add: working tree에 있는 파일중에 버전관리할 파일staging area에 올리는 과정이다.
  11. git commit: 버전을 만드는 명령어 그냥 실행하면 에디터로 들어가지만 뒤에 -m을 붙여 따로 에디터 없이 간편하게 버전을 만들 수 있다.
  12. nano: nano는 간편하게 편집기라고 생각하면 된다. 사용방법은 검색이나 위에 간단한 사용방법 기재

https://opentutorials.org/course/3837 많은 도움을 받은 생활코딩입니다.

공부 정리내용은 생활코딩 및 구글링을 통한 내용을 정리하였습니다.

태그: ,

카테고리:

업데이트:

댓글남기기