개발자 꼬부기의 성장일기
4일차 - git / github 맛보기 본문
Git / GitHub
Git : Local에서 파일을 관리해주는 프로그램
- 버전관리
- 백업
- 협업
GitHub : Git을 클라우드 방식으로 구현한 서비스
SSH 등록
Secure shell의 줄임말(Secure SHell)로, 보안이 강화된 shell 접속을 뜻합니다. CLI 환경(터미널)에서 다른 PC에 접속하거나 요청할 때 사용하며, 비대칭키를 이용해 사용자를 인증한다.
개인 키는 로컬 컴퓨터에 보관하고, 공개 키는 Git 서버에 등록합니다. 이렇게 등록된 공개 키를 사용하여 로컬 컴퓨터와 Git 서버 간에 인증을 수행한다.
SSH를 등록하는 이유는 보안성을 높이기 위해서
SSH를 등록함으로써, 다른 사용자가 Git 서버에 악의적인 접근을 시도해도, SSH 키가 없으면 접근할 수 없으므로 보안성이 높아진다.
SSH 키를 등록하지 않고도 HTTPS 프로토콜을 사용하여 Git 서버에 접근할 수 있다.
하지만 HTTPS를 사용하는 경우, 매번 인증 정보를 입력해야 하는 불편함이 있다.
그리고 정보가 노출될 가능성도 있다.
Git의 영역
- 온라인 : Remote repository(원격 저장소)
- 로컬 : Work space(작업 공간), Staging area(스테이징 영역), Local repository(지역 저장소)
Git 실습 프로세스
1. 디렉토리 및 파일 생성
mkdir git_practice
cd git_practice // 디렉터리로 이동
touch filename.txt //파일생성
nano cat filename.txt //nano편집기로 파일 편집후 저장
2. Git으로 파일관리 시작하기(Git 초기화)
git init //Git 초기화
git config --global init.defaultBranch main
git branch -m main
브랜치이름을 main으로 변경
3. git init 하면 .git 디렉토리가 생성됨.
4. 깃 상태 확인하기
git status
- Unmodified : 파일의 수정이 Git에 의해 감지되지 않은 상태
- Modified : 파일의 수정이 Git에 의해 감지된 상태
- Staged : 파일이 Staging area에 존재하는 상태
5. Staging area로 파일 이동
Staging area란, Local repository에 저장할 파일들이 임시로 대기하는 영역
git add .
6. 깃 상태 확인하기
7. Local repository에 저장하고 버전 기록하기
git commit -m "First commit"
8. Commit 히스토리 확인
git log
9. Remote repository로 업로드하기
- GitHub에 Remote repository 만들기
- Remote repository 와 Local repository를 연결
git remote --v
10. Github에 만든 repository의 URL복사 후 연결확
git remote add origin 복사한_원격_저장소_URL
git remote --v
11. 업로드하기
git push origin main
다른 사람의 Repository에서 가져올때
juang@DAJUNG-PC MINGW64 ~
$ mkdir git_clone
$ cd git_clone
git_clone git clone 복사한_URL
git remote --v
Clone을 하면 별도로 remote를 add 하지 않아도된다.
함께 작업할 때 (내가 main 일때)
1. 깃 연결
git init
2. 리모트 연결(main)
git remote add origin 원본 URL
3. Push
git push origin main
4. 리모트 연결(pair)
git remote add pair 연결할 URL
5. 리모트 확인
git remote -v
6. Pull (상대방의 소스코드를 받아온다)
git pull pair main
7. Push
git push origin main
8. Staging area에 둠.
git add .
9. Commit (내부 깃에 커밋)
git commit -m "깃헙에 남길 메시지"
10.Push / Pull
'언어공부 > [코드스테이츠] 백엔드부트캠프' 카테고리의 다른 글
6일차 - Java 기초(1) : 연산자, 입출력, 제어문 (0) | 2023.04.18 |
---|---|
5일차 - 변수와 타입 (1) | 2023.04.17 |
3일차 - 리눅스 OS 맛보기 (0) | 2023.04.13 |
2일차 - 컴퓨터 개론, 웹 이해 (0) | 2023.04.12 |
1일차 - O.T 각오 (0) | 2023.04.11 |