728x90
학습 내용
협업에 필요한 여러 가지 툴들에 대해 알아봅니다.
Git과 GitHub에 대한 것들을 알아봅니다
협업 툴
협업 툴은 다양한 것들이 있는데 대표적으로
- Slack (슬랙), Notion, Trello, Zoom(줌) / Google Meet(구글 밋)이 있다
- 그 외에도 ZIRA 등 다양한 것들이 있다
- 나는 이중 Notion을 가장 많이 써봤는데 Trello도 프로젝트나 학습계획 세우기에 편리해보여서 언제한번 도전해 봐야겠다
- 이번 시간에는 형상관리 툴인 Git을 소개하고자 한다
Git 과 GitHub
- Git 과 GitHub는 결국 의미하는 바가 유사하지만 가리키는 것이 다르다
- Git : 로컬에서 버전 관리를 하는 툴
- GitHub : 원격으로 관리하며 협업할 수 있는 온라인 작업공간
- 즉, GitHub에 저장해 놓은 것을 수정하고 사용할 때는 로컬 Git에 내려받아서 사용한다고 보면 된다.
Git 과 GitHub 사용하기
Git 기본 개념
- Working Directory: 파일을 수정하는 작업 공간입니다.
- Index (Staging Area): commit 할 파일들을 준비하는 공간
- HEAD: 브랜치의 최신 커밋을 가리키는 포인터
Git 살펴보기
git config
- 로컬의 Git에 GitHub의 계정 정보 등록하기
git config -l
: Git에 등록한 config의 정보를 모두 확인
$ git config --global user.email "my-email@gmail.com"
$ git config --global user.name "my-username"
$ git config -l
Git으로 버전 관리 시작
전체 과정을 간략하게 설명하면 아래의 과정으로 진행된다.
1. (맨 처음) 로컬저장소 생성 (init, remote)
2. 파일 생성 (status, add, commit)
3. 버전 기록
4. 원격 저장소로 전송 (push)
5. 새로운 저장소로 복제 (clone)
6. 파일 수정 (status, add, commit)
7. 새로운 버전 기록 (push)
8. 원격 저장소로 전송
이 과정만 기억하면 GitHub를 크게 어렵지 않게 사용할 수 있다!
Git init
$ git init
init
은 initialization의 약자- 이제부터는 Git이 지금 있는 workplace 디렉토리에서 발생하는 모든 변화를 기록하게 된다.
ls -a
를 통해 확인해보면 .git 디렉토리와, 그 안에 있는 내용들이 생성된 것을 확인해 볼 수 있다.
$ ls -a
. .. .git
$ cd .git
$ ls
HEAD branches config description hooks info objects refs
git status : 변화 확인하기
git add
- 변화를 기록하는 준비단계입니다. 작업 디렉토리(Working Directory)에서 변경된 파일을 스테이징 영역(Staging Area)에 추가하는 명령어입니다.
- staging 한다, stage에 올려둔다 라고 말하기도 합니다.
- 파일을 add 하는 것은 staging 한다, 또는 stage에 올려둔다는 등의 표현을 사용하며, 본격적인 스냅샷(snapshot)을 찍기 전에 임시로 올려두는 개념의 작업입니다.
git commit
- 실제로 특정 순간의 버전을 스냅샷으로 확정시켜 남겨두는 역할을 합니다.
- HEAD 는 최신 커밋을 가리키는 포인터 이므로 HEAD 가 해당 커밋을 가리킵니다.
내 로컬 저장소와 원격 저장소를 연결
git remote
$ git remote add origin https://github.com/xxx/first-repository.git
GitHub에서 토큰 생성하기
- 개인 액세스 토큰(Personal Access Token)을 생성할 수 있습니다. Settings > Developer Settings > 개인 액세스 토큰 에서 “Generate new token”을 클릭하고, 필요한 권한을 선택한 후 토큰을 생성
- 로컬로 돌아가 토큰으로 계정등록
$ git config credential.helper store
$ git push origin main
Username for '<https://github.com>': [계정에 사용된 닉네임을 입력하세요]
Password for 'https://[이메일]@github.com': [비밀번호(토큰)를 입력하세요]
- git config credential.helper store를 이용하면 번거롭지 않게 매번 입력하지 않아도 된다.
Git 기본 명령어 한눈에 정리
- init: 로컬 디렉토리를 새로운 Git 저장소로 만든다. 시작
- status: Git이 추적하고 있는 로컬 저장소의 변화를 보여준다. 상태
- add
- Git 저장소의 변화를 기록하기 위한 준비 단계.
- 변화를 기록하기 위한 준비 단계, 본격적으로 찍기전에 임시로 올려두는 개념
- staging area에 올림
- commit: 특정 순간의 버전을 스냅샷처럼 기록합니다.
- push: 로컬 저장소의 파일과 버전 기록을 원격 저장소로 전송합니다.
- clone: GitHub의 원격 저장소를 로컬 저장소에 통째로 가져옵니다.
- pull: 로컬 저장소의 버전을 원격 저장소와 같게 업데이트합니다.
참고자료
728x90
'AIFFLE > STUDY' 카테고리의 다른 글
머신러닝과 딥러닝 (0) | 2024.05.21 |
---|---|
[Linux] 리눅스(Linux) 명령어 쉽게 찾아보기 - man, tldr (0) | 2024.05.14 |
[Markdown] 마크다운(Markdown) 링크, 이미지, 동영상 삽입하기 (0) | 2024.05.14 |
[Markdown] 마크다운(Markdown) 코드블럭 사용하기 (0) | 2024.05.14 |
[Markdown] 마크다운(Markdown) 기본 문법 (0) | 2024.05.14 |