본문 바로가기

짜투리

[Git] 지옥에서 온 문서 관리자 깃&깃허브

728x90

 <지옥에서 온 문서 관리자 깃&깃허브 입문>, 이지스퍼블리싱를 보고 정리한 글입니다. 

 

 깃, 깃허브는 프로그래밍 언어를 학습하는 사람들이라면 한 번 쯤 들어봤을 거다. 실제로 깃허브에 데이터를 저장하고 있는 사람도 있을거다. 그러나 "깃, 깃허브!! 대체 뭐하는 친구들일까??!!" 이 의문에서 출발한 포스팅 출발합니다. 

 

 

1. 깃과 깃허브란?

  • 깃 : 오픈 소스 버전 관리 프로그램(로컬에서 관리) =>프로그램
  • 깃허브 : 클라우드 기반 호스팅 서비스(서버에서 관리) =>원격 저장소 

 

2. 깃으로 무엇을 할 수 있을까?

  • 버전 관리 : 과제를 하다보면 문서를 수정할 때마다 '최종', '진짜 최종', '최종의 최종'이라는 걸 붙여 본 경험이 있을거다. 이 때 문제점은 언제, 어떤 것을 수정했는지 알 수 없다는 거다. 깃은 문서를 수정할 때마다 언제, 어떤 것을 누가 변경했는지 쉽고 간편하게 버전 관리를 할 수 있다. 

  • 백업 
  • 협업  

3. 깃으로 버전 관리하기

  • 디렉터리 초기화 : 로컬의 어떤 디렉터리에 깃을 사용할 수 있도록 디렉터리를 초기화함.        
git init #디렉터리 초기화

 

이때, 디렉토리에 생기는 '.git' 디렉터리(숨김파일)는 깃을 사용하면서 버전이 저장될 저장소(리포지토리)가 된다. 

 

  • 버전 : 문서를 수정하고 저장할 때마다 생기는 것
  • 커밋(commit) : 버전을 만드는 것

  1. 작업트리 : 파일 수정, 저장 등의 작업을 하는 디렉토리
  2. 스테이지 : 버전으로 만들 파일이 대기하는 곳(수정한 파일이 10개여도 4개의 파일만 버전으로 만들고 싶다면 4개만 스테이지에 올리면 된다)
  3. 저장소(리포지토리) : 스테이지에서 대기하고 있던 파일들을 버전으로 만들어 저장하는 곳

 

  • 깃 상태 확인(git-bash)
git status  #깃의 상태

 

 리눅스 명령어를 통해 작업 트리 찾기(깃파일이 들어있는 디렉토리)

cd ..                  #상위 디렉토리로 이동
ls		               #현재 위치에서의 파일과 디렉터리 확인
cd 하위 디렉토리 이름   #하위 디렉토리로 이동
cd ~                   #홈 디렉토리로 이동

 

  1. on branch master : 현재 master 브랜치에 위치
  2. no commit yet : 아직 커밋한 파일이 없다
  3. 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  #변경 사항 확인