728x90
<지옥에서 온 문서 관리자 깃&깃허브 입문>, 이지스퍼블리싱를 보고 정리한 글입니다.
깃, 깃허브는 프로그래밍 언어를 학습하는 사람들이라면 한 번 쯤 들어봤을 거다. 실제로 깃허브에 데이터를 저장하고 있는 사람도 있을거다. 그러나 "깃, 깃허브!! 대체 뭐하는 친구들일까??!!" 이 의문에서 출발한 포스팅 출발합니다.
1. 깃과 깃허브란?
- 깃 : 오픈 소스 버전 관리 프로그램(로컬에서 관리) =>프로그램
- 깃허브 : 클라우드 기반 호스팅 서비스(서버에서 관리) =>원격 저장소
2. 깃으로 무엇을 할 수 있을까?
- 버전 관리 : 과제를 하다보면 문서를 수정할 때마다 '최종', '진짜 최종', '최종의 최종'이라는 걸 붙여 본 경험이 있을거다. 이 때 문제점은 언제, 어떤 것을 수정했는지 알 수 없다는 거다. 깃은 문서를 수정할 때마다 언제, 어떤 것을 누가 변경했는지 쉽고 간편하게 버전 관리를 할 수 있다.
- 백업
- 협업
3. 깃으로 버전 관리하기
- 디렉터리 초기화 : 로컬의 어떤 디렉터리에 깃을 사용할 수 있도록 디렉터리를 초기화함.
git init #디렉터리 초기화
이때, 디렉토리에 생기는 '.git' 디렉터리(숨김파일)는 깃을 사용하면서 버전이 저장될 저장소(리포지토리)가 된다.
- 버전 : 문서를 수정하고 저장할 때마다 생기는 것
- 커밋(commit) : 버전을 만드는 것
- 작업트리 : 파일 수정, 저장 등의 작업을 하는 디렉토리
- 스테이지 : 버전으로 만들 파일이 대기하는 곳(수정한 파일이 10개여도 4개의 파일만 버전으로 만들고 싶다면 4개만 스테이지에 올리면 된다)
- 저장소(리포지토리) : 스테이지에서 대기하고 있던 파일들을 버전으로 만들어 저장하는 곳
- 깃 상태 확인(git-bash)
git status #깃의 상태
리눅스 명령어를 통해 작업 트리 찾기(깃파일이 들어있는 디렉토리)
cd .. #상위 디렉토리로 이동
ls #현재 위치에서의 파일과 디렉터리 확인
cd 하위 디렉토리 이름 #하위 디렉토리로 이동
cd ~ #홈 디렉토리로 이동
- on branch master : 현재 master 브랜치에 위치
- no commit yet : 아직 커밋한 파일이 없다
- nothing to commit : 현재 커밋할 파일이 없다
4. 커밋하기(버전 만들기)
1) 작업 트리에 파일 업로드
: 깃을 저장한 디렉토리에 텍스트 파일을 하나 추가해보고 상태를 확인해보자.
untracked files라고 뜬다.
2) 스테이지에 파일 업로드
git add 파일 이름 #스테이지에 파일 올리기
3) 스테이지에 올라온 파일 커밋하기
git commit -m "message" #버전 확인
- 버전 확인
git log #버전 확인
- 스테이징과 커밋 한꺼번에 처리하기 (단, 한번이라도 커밋한 적 있는 파일을 다시 커밋할 때만 사용 가능)
git commit -am "message" #스테이징과 커밋 한꺼번에 처리
- 변경 사항 확인하기
git diff
5. 깃과 브랜치
- 브랜치가 필요한 상황?
: 웹 사이트 개발이 완성 되었다. 그런데 고객이 새로운 기능 추가를 요구했다. 이때, 제대로 동작하는 소스는 그대로 둔 채로 새로운 기능을 추가한 소스를 더하는 상황.
- 분기(branch) : master 브랜치에서 새로운 브랜치를 만드는 것
- 병합(merge) : 분기했던 master 브랜치에 합치는 것
6. README.md
: 자기 저장소를 살펴볼 수 있도록 안내문을 만들어 첫 화면에 띄어 두는 것. 쉽게 말해 자기 프로젝트 설명문이다.
# hello #글씨체 가장 크게, 앞에 #을 붙일 수록 글씨 크기가 작아짐
#줄바꿈은 enter 2번
**** #가로줄 추가
----
**굵은 글씨**
*기울임체*
***굵은 기울임체***
~~취소선~~
> 인용문
#깃허브 이미지 올리고 reamdme.md에 추가
![대체텍스트](./이미지파일이름/파일이름.jpg) #확장자는 jpg, png 맞는 걸루
7. 코드 정리
git status #깃의 상태
git add 파일이름 #스테이지에 파일 올리기
git commit -m "message" #버전 확인
git commit -am "message" #스테이징과 커밋 한꺼번에 처리(커밋을 한 번이라도 해야됨)
git log #버전 확인
git diff #변경 사항 확인
'짜투리' 카테고리의 다른 글
[운영체제론] CPU 스케줄링을 알아보자~^^ (0) | 2022.05.17 |
---|---|
[하드웨어] KT3 PRO 블루투스 키보드 재연결 (0) | 2022.03.12 |
[Git] 컴퓨터를 바꿨을 때 vscode에서 깃허브 다시 연동하기 (2) | 2022.03.02 |
[SQL] SQLYLOG, SQL 원격 접속 (0) | 2022.02.28 |
[IDE] vscode에서 jupyter 사용하기 (0) | 2022.01.01 |