시작하기에 앞서
멀티캠퍼스 수업에서의 3주차에서 3일간에 걸친 Git 강의가 끝이 났다. 이것저것 배우면서 배웠던 것을 한 곳에 모아 포스트 형식으로 올려놓은 것이다. 대략적으로 깃의 기초, 원격저장소 설정, .gitignore에 대해 알아보자.
Git 기초
0. 준비 사항
-
- git을 활용하기 위한 CLI(command Line interface)를 제공한다
- source, tree, github desktop 등을 통해 GUI 환경에서도 활용 가능하다.
1. 로컬 저장소 활용하기
1. 저장소 초기화
$ git init
initialized existing Git repository in C:/Users/student/Desktop/git_tutorial/.git/
- 저장소(repository)를 초기화 하게 되면 .git 폴더가 해당 디렉토리에 생성된다.
-
bush 창에서는 (master) 라고 표기된다.
- 현재 브랜치가 master라는 것을 의미한다.
2. add ~staging area
git으로 관리되는 파일들은 Working directory(작업 환경), Staging Area, commit 단계를 거쳐 이력에 저장된다.
$ git add a.txt #파일명
$ git add images #폴더명
$ git add . #현재 디렉토리의 모든파일 및 폴더
- add 후 상태
$ git status
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: b.txt
3. commit
커밋은 코드의 이력을 남기는 과정이다.
$ git commit -m "add:b.txt"
[master 46b3223] add:b.txt
1 file changed, 1 insertion(+)
create mode 100644 b.txt
- 커밋 메시지는 항상 해당 이력에 대한 정보를 담을 수 있도록 작성하는 것이 좋다.
- 일관적인 커밋 메시지를 작성하는 습관을 들이자
-
이력 확인을 위해서는 아래의 명령어를 활용한다.
$ git log commit 46b32233afb1f111445cd3d2bbf586ae2e2725d8 (HEAD -> master) Author: choihwan2 <choihwan2@naver.com> Date: Mon Dec 16 14:23:38 2019 +0900 add:b.txt commit d5e516b29033aad088fe91bdead201ffd7c38eb7 Author: choihwan2 <choihwan2@naver.com> Date: Mon Dec 16 11:41:25 2019 +0900 Fix:a.txt commit 76a5998098344000b84b2517e9104e507fcf3681 Author: choihwan2 <choihwan2@naver.com> Date: Mon Dec 16 11:30:19 2019 +0900 Add: a.txt
항상 status 명령어를 통해 git의 상태를 확인하자! commit 이후에는 log 명령어를 통해 이력들을 확인하자
원격 저장소 활용하기
원격 저장소(remote repository)를 제공하는 서비스는 다양하게 존재한다.
github을 기준으로 설명한다.
0. 준비하기
- Github에서 저장소(repository) 생성
1. 원격 저장소 설정
$ git remote add origin {github url}
- {github url} 부분에는 원격 저장소 url을 작성한다.
- 원격 저장소(remote)로 {github url} 을 orgin 이라는 이름으로 추가(add)하는 명령어이다.
- 원격 저장소 목록을 보기 위해서는 아래의 명령어를 활용한다.
$ git remote -v
origin https://github.com/choihwan2/TR.git (fetch)
origin https://github.com/choihwan2/TR.git (push)
2. push
$ git push origin master
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Delta compression using up to 8 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 2.44 KiB | 2.44 MiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/choihwan2/TR.git
46b3223..3c6588e master -> master
- 설정된 원격 저장소(origin) 으로 push!
폴더의 내용을 수정 및 삭제, 생성 등을 하게 된다면 add comit push 명령어를 통해서 이력을 저장하고 push 명령어를 통해 업로드를 한다.
3. git commit -am
$ git commit -am "update skill sets"
add
와 commit
이 한번에 가능하게 해주는 명령어 입니다. 그동안의 기록들이 올라가지만 깃헙에서는 최신의 기록만 보여줍니다.
혹시라도 vim 에 빠지게 된다면
ESC + : wq
: 빔 탈출! 후에 깃 상태의 포스트에서 빔에 대해서도 간략하게 설명해 놓았다.
Gitignore
Git 을 통한 프로젝트 시작시 반드시 설정하자!
활용법
*.xlss # 확장자가 xlss인 파일
test/ # text 폴더
a.txt # 특정파일
보통 .gitignore
에 등ㅇ록 되는 파일은 iDE(이클립스)설정과 관련된 내용 혹은 프로그래밍 언어별 임시 파일, 윈도우 등 OS 관련 파일을 등록한다. (프로젝트 소스코드와 무관)
잘 모르는 경우 해당 환경을 gitignore.io 에서 검색하며 설정하자.
예) eclipse
, java
, windows...