Git, Github 의 차이점이 무엇일까?
Git : 하나의 작업물에 대해서 버전들을 기록하는 것.
= 분산 소스 버전 관리 시스템,
= 서버를 분산시켜 구축할 수 있게 하는 소프트웨어
= 소스코드를 효율적으로 관리할 수 있게 해주는 형상관리도구
Github : Git 내용들을 사람들과 공유할 수 있는 도구.
= Git을 사용하는 프로젝트를 지원하는 웹호스팅 서비스
= Git을 업로드 할 수 있는 웹사이트
= 개발자들의 버전 제어 및 공동 작업을 위한 플랫폼
(github 외의 다양한 플랫폼들이 존재한다)
버전관리는 왜 필요한가?
개발자간의 협업이 필요하다.
전체 개발 소스를 공유하면서 개발 파트를 나눌 수 있고
같은 모듈을 개발하더라도, 소스를 공유하며 개발할 수 있다.
Git 설치 및 확인
git --version
git config --list
깃 홈페이지에서 깃을 설치한 뒤, git 버전 확인 및 git 관련 환경설정 파일들 확인한다.
설치한 깃에 자신의 github 연동하기
git config --global user.name "bohyeon"
git config --global user.email "980926a@gmail.com"
git config --global core.autocrlf input
윈도우와 맥의 줄바꿈 호환성을 위한 설정
git 폴더 생성하기
git init
ls -al
ls
rm rf .git
새로운 빈 폴더를 생성해서 터미널에 git을 생성한다.
ls -al 를 통해 숨겨진 .git 폴더를 볼 수 있다 ( . 이 붙은 폴더는 숨겨진 폴더)
ls 통해서는 숨겨진 폴더를 볼 수 없다.
rm 명령어를 통해 .git 을 삭제하면, git 삭제되고 터미널에 디폴트 branch master도 사라지는 것을 볼 수 있다.
workflow 흐름 설명
git workflow
- working directory : 코드 수정하는 작업 환경
- staging area : 버전 히스토리에 저장할 준비가 되어 있는 파일 위치
- .git directory (repository) : 버전 데이터가 있는 파일 위치 , git version history에 저장
우리가 VScode에서 파일을 수정하고 (work directory),
수정이 완료된 파일을 옮겨서 (staging area) commit명령어를 통해, git에 올린다 ( .git directory)
이때 git directory에서 checkout 명령어를 통해, 다시 VScode로 돌아갈 수 있다.
remote 사용하는 이유
세가지 workflow는 local 내에 있어서, local 손상 시의 오류를 피하기 위해
git 서버를 이용해 저장한다. (github)
이때 remote 에 push 명령어를 통해 저장한다.
remote에서 local로 가져오려면, pull 명령어를 사용한다.
간단한 실습 (1)
tracked 파일 : git이 tracking 하고 있는 파일 즉, git이 알고있는 파일
modified : tracked에서 modified 파일만 staging area로 이동할 수 있다.
파일의 상태가 어떤 workflow에 있는지 확인하려면?
git status
현재 폴더에는 working directory의 untracked files와 tracked files가 있음을 알 수 있다.
staging files 으로 옮기기 위한 명령어
tracked, untracked 모두 옮길 수 있다.
git add 파일명
Remote 하기 - SourceTree 로 github 이용하기
소스코드를 이용하여 git bash보다 편리하게 git을 이용할 수 있다.
(1) Clone 하기
먼저 github에 있는 코드를 local로 가져온다.
코드가 있는 github 주소와, 코드를 local에 저장할 위치를 넣고 clone 진행한다.
(2) local의 git status 보기, 커밋하기
clone한 파일을 임시로 주석을 달아서 저장했다.
파일 상태를 클릭하면 변한 부분이 오른쪽에 초록색으로 보여지고,
스테이지에 올라가지 않은 상태임을 표시하고 있다.
더블클릭으로 해당파일을 스테이지에 올라가게 하여,
커밋 메세지를 남기고 커밋버튼을 누르면 git directory로 이동한다.
(3) remote - Push : github 에 올리기
상단 Push 버튼을 통해 github에 올린다.
git bash에서는 history를 git log를 통해 볼 수 있다.
(4) remote - Pull : remote에서 업데이트 된 것을 local도 업데이트하기
remote에 업데이트 된 부분이 있다면, pull할 수 있는 것이 있다고 알려준다.
'Git, Github' 카테고리의 다른 글
다른 브랜치로 이동할 때의 명령어 (checkout, stash) (0) | 2022.11.14 |
---|---|
Branch 이용해 pull 충돌 해결하기 (0) | 2022.01.26 |
Git action 사용하기 (0) | 2021.05.19 |
git fork 상태에서 업데이트된 소스 가져오기 (git bash) (0) | 2021.03.06 |
git repository 생성, 소스 올리기, pull request 까지(Git Bash) (0) | 2021.03.06 |