개인 공부/Git

Git 기본내용 정리!

kaleb 2022. 5. 25. 23:15
728x90

"

git을 처음 접할때는 정말 어렵습니다. 저도 git을 사용하는데 아직도 익숙치가 않은데요
저도 공부를 하고 혹시나 다른분들에게 도움이 될까 해서
제가 처음 git을 접하고 지금까지 사용하면서 정리해둔 내용을 포스팅해보도록 하겠습니다.

Git을 사용하는 이유 :

여러명이 동시에 작업할 수 있는 협업 관리 도구입니다.

 

  • 분산적인 개발 : 전체 개발 내역을 각 개발자의 로컬 컴퓨터로 복사
  • 효율적인 개발 : 메모리적인 효율성
  • 비선형적인 개발 : 브랜치(Branch)라는 개념으로 가지 치기 가능
  • 변경 이력 보장 : 작업된 모든 내역(Commit내역)들은 관리 되어있기 때문에 안전하게 프로젝트를 운영 할 수 있음

+ 포트폴리오 관리에도 용이

 

Git의 동작 원리

쉽게 생각하면 git프로젝트에 담겨 있는 데이터들은 파일 시스템상의 스냅샷입니다.

프로젝트를 커밋(commit)하여 적용할 때의 순간을 중요시한다는 특징인데 , 수정내역 자체를 저장합니다.

 

구성 요소

  • Working Directory : 작업할 파일이 있는 디렉토리
  • Staging Area : 커밋을 수행할 파일들이 올라가 있는 영역
  • Local Repository : 사용자의 저장소 Git Directory : git 프로젝트의 메타 데이터와 데이터 정보가 저장되는 디렉토리
  • Remote Repository : git hub내의 원격 저장소

 

그림을 보시면 더 이해가 잘 될겁니다.!

 

 

사용방법

  1. Github 회원가입 GitHub: Where the world builds software · GitHub
  2. git bash다운로드 Git
  3. 로그인후 Github홈페이 좌측에서 New를 선택하여 새로운 레퍼지터리를 생성합니다.

 

Repositories : 레포지터리
데이터 집합체가 보관되고 조직적인 방식으로 유지되는 장소입니다!

Repository name에서 저장소 이름을 설정하고 Description에서 어떤 저장소인지 정의를 해줍니다.

(desciption은 optional이지만 데이터가 많아 지기 때문에 미리미리 정의해주는 습관을 들이는게 좋을듯 하다.)

 

생성을 하기위해서 Create repository를 눌러서 신규 레포지터리를 생성합니다.

레포지터리 생성 완료 후 Code를 누르면 Clone창이 뜨는데 HTTPS / SSH key 이렇게 뜨는데

본인에 해당하는 설정으로 클론 주소를 복사 해줍니다. 

 

HTTPS :

push/pull 을 할때 username과 password를 입력해야하는데 git에서 제공하는 Credential 저장소의 기능으로 계정정보를 캐싱하기 때문에 자동으로 입력되도록 할 수 있음

 

SSH key :

저장소의 설정화면에서 SSH key를 등록해주어야합니다.

 

열쇠정보를 가진 사람만 사용할 수 있습니다.

클론 주소만 복사완료한다면 거의 다 왔음!

 

이제 loacl로 레포지터리 저장소를 만들어 remote와 연동할 폴더(Loacl repository) 를 만들어야 합니다.

 

git bash다운 완료 후 본인이 workspace로 사용할 폴더를 생성해줍니다.

 

“git init” 으로 해당폴더를 초기화해주고 .git파일을 생성해줍니다.

git을 init으로 초기화하면 기본적으로 master branch가 형성 됩니다. 기본적으로 commit해서 version을 관리하게 되는 branch가 master입니다.

복사해둔 git HTTPS 또는 SSH 경로를

”git clone 레퍼지토리 경로” 를 해주면 원격저장소와 로컬 저장소가 연결이 됩니다!

 

 

Git bash 주요 용어!!

 

git config :

git의 환경설정 ex) git config —global user.name git config —global user.email

git config —list: 모든 git 설정들을 리스트합니다.  q를 입력하면 다시 터미널로 돌아옵니다.

git config —global -e : config 리스트를 파일로 열어보고 싶을 때사용합니다.

git config —global core.autocrlf true(input) : 파일을 받고 불러올때 mac과 window의 차이를 없에줍니다.

 

cd 경로 : 해당 경로로 bash 내에서 이동

 

git clone 레퍼지토리 경로 : cd로 이동된 곳과 git.hub 레퍼지토리를 동기화함

동기화 후에는 나의 컴퓨터를 Local repository git-hub사이트의 레퍼지토리는 remote repository

 

git status : 현재 git 상태를 볼 수 있습니다.

 

git add :작업하고 있는 데이터를 Staging Area에 올려 Commit하기 전 상태로 둠
git add -u : 수정되거나 삭제된 파일을 반영

수정후 삭제된 파일이나 기존에 있던 파일을 다른 폴더로 옮겨도 git에서는 deleted가 되어 있고 반영은 안되며 hub로 들어가서 보아도 신규 작업은 적용이 되어도 삭제한 것들에 대한 반영이 안되어 있을 때 사용하면 된다!

 

git commit : 업데이트한 내용을 Local repository에 Version 캡쳐 add한 데이터를 Local Repository에 올림 ex) git commit -m “Add Text File [document.txt]”

 

git push : commit으로 version capture한 내용을 remote repositary에 등록

Local repository에 올려진 데이터를 Remote Repository(Git hub)에 올림

git push -f : 강제 푸쉬

**git rm —cached *** : Staging area에 올려둔 모든 값을 삭제합니다.

 

Git pull : git fetch와 git merge를 함께 사용하는 명령어

 

Git fetch : 다른 사람이 수정한 데이터를 Local repository로 다운됌

 

Git merge : Remote repository와 Local repository를 동일하게 만듬

 

Git version : git —version: 설치 되어있는 git의 버전을 check

 

Git reset : Staging area의 특정파일을 다시 내려오게 하는 방법

git reset —hard : 해당 커밋 이전은 모두 지움

 

Git checkout — : —뒤의 파일의 수정을 무시함(수정되어있는 파일을 수정 전으로 바꿈)

 

Git commit -amend : commit 할 때의 메시지를 수정할 수 있음

수정 : a, 수정완료후 esc+:wq! 후 종료

 

Git log : Remote에 반영된 내역들을 체크해줍니다. history 보기이며 아래로 갈수록 이전 Log입니다. log 화면에서 나오기 위해서는 Q를 입력면됩니다.

 

Git Branch

Git 저장소를 만들면 자동으로 마스터 브랜치가 형성됨(배포가 가능한 버전)

“Git branch” 를 처음 사용하면 branch가 몇개 있는지 나옵니다.

“Git branch 만들 branch 이름” 하면 새로운 branch가 생성됩니다.

"git checkout branch이름" 을 이용하면 이동 가능합니다.

"git merge branch 이름"을 이용하면 branch와 master가 합쳐집니다.

"git branch -d branch이름" 병합이 완료된 branch는 제거합니다.

 

 

도움이 되셨으면합니다. 깃은 많이 해보면서 배워가는게 좋은 것 같습니다.

오류도 참 많이 뜨는데 오류의 대한내용도 기회가 된다면 다뤄보겠습니다.~

반응형