-
[Git] Git 사용법Code/그 외 2021. 11. 22. 15:35
GitHub
소프트웨어 개발 프로젝트를 위한 소스코드 관리 서비스. 소스 코드 열람, 간단한 버그 관리, SNS 기능 등을 갖추고 있다.
관련 용어
커밋 (Commit) : 파일을 추가하거나 변경 내용을 로컬 저장소에 저장하는 작업.
푸시 (Push) : 파일을 추가하거나 변경 내용을 원격 저장소에 업로드하는 작업.
리모트 (Remote) : 서버 자체를 의미.
오리진 (Origin) : 주로 리모트 서버의 이름을 Origin으로 사용.
레파지토리 (Repository) : 리모트 서버 내에 구분되는 프로젝트 단위. 저장소라는 뜻을 가지고 있다.
브랜치 (branch)
시간의 흐름을 나누어 기록하는 방식의 작업 공간 개념이라고 보면 된다.
버전 유지를 하며 새로운 기능을 추가 및 버그 수정을 할 수 있는 병렬 방식의 저장소 이용 방법. 따라서, 분기별로 영향을 받지 않고 각각 개발을 할 수가 있다.
Git을 초기화 했을 때 기본적으로 master라는 이름의 브랜치가 생성되는데, 그 후 개발하는 기능 또는 버그 픽스에 따라 브랜치를 생성하고 거기에서 작업한 뒤 다시 master로 합치는 과정을 거친다.
Git 사용 방법
1. Github에 저장소 작성 (git init)또는 복제 (git clone)
2. 파일 작성, 편집
3. 파일 생성, 변경, 삭제를 git 인덱스에 추가. (git add)
4. 변경 결과 로컬에 커밋 (git commit)
5. 로컬 저장소를 원격 저장소에 반영 (git push)
Bash (Bourne Again Shell) 유닉스 쉘 프로그램.
윈도우 운영체제 환경에서도 리눅스 커맨드를 사용할 수 있도록 해주는 프로그램.
맥이나 리눅스를 사용하고 있다면 해당 프로그램이 없이 Git을 사용할 수 있지만 윈도우를 사용하고 있다면 해당 프로그램을 사용하는 것이 좋다.
간단한 Git 명령어
clone : 리모트 서버의 레파지토리에서 클라이언트로 파일을 복붙하는 행위.
$ cd ~/dev/evan # 원하는 작업 디렉토리로 이동 $ git clone https://github.com/evan-moon/test-repo.git
pull : 리모트 서버의 최신 소스를 가져와서 로컬 소스에 Merge(병합)해주는 명령어.
브랜치 끼리도 pull을 통해 소스를 합칠 수 있다.
$ git pull # 현재 내 로컬 브랜치와 같은 이름을 가진 리모트 서버 브랜치가 타겟 $ git pull origin master # origin 리모트 서버의 master 브랜치가 타겟
fetch : 리모트 서버의 최신 이력을 내 클라이언트로 가져오되 병합은 하지 않는 명령어.
주로 소스의 변경 사항을 미리 비교해보고 싶을 때 사용한다.
$ git fetch
add : 변경사항을 리모트에 업데이트하는 명령어.
$ git add . # 현재 디렉토리의 모든 변경사항을 스테이지에 올린다 $ git add ./src/components # components 디렉토리의 모든 변경사항을 스테이지에 올린다 $ git add ./src/components/Test.vue # 특정 파일의 변경사항만 스테이지에 올린다 $ git add -p # 변경된 사항을 하나하나 살펴보면서 스테이지에 올린다
commit : 로컬 저장소에 변경사항을 저장하는 명령어.
Git은 하나의 커밋을 하나의 버전으로 정의한다. 그렇기 때문에 기능별로 커밋을 하는 것이 좋다.
커밋을 하면 커밋별로 고유한 해쉬 값을 가지는데, 이 해쉬 값을 이용하여 커밋별로 이동이 가능하다. (이 부분이 중요! 롤백이 가능하다!)
$ git log --graph * commit 20f1ea9 (HEAD -> master, origin/master, origin/HEAD) | Author: Evan Moon <bboydart91@gmail.com> | | 회원가입 기능 개발 끝! | * commit ca693fd #이런 부분이 해쉬값이므로, git checkout ca693fd 명령어로 롤백 및 이동이 가능하다. | Author: Evan Moon <bboydart91@gmail.com> | | 회원가입 비밀번호 입력 폼 추가 | * commit f9b6e2d | Author: Evan Moon <bboydart91@gmail.com> | | 회원가입 이메일 입력 폼 추가 |
push : 로컬 저장소의 저장 내용을 원격 저장소에 저장하는 명령어.
어떤 리모트 서버에 어떤 브랜치로 푸쉬할 것인지를 지정해주어야 한다.
$ git push origin master # origin 리모트 서버의 master 브랜치로 푸쉬해줘!
브랜치의 이름이 길면 이를 자동으로 추적할 수 있는 기능 또한 제공한다. --set-upstream 옵션을 사용하고 브랜치 이름을 입력하면 그 이후로는 git push 명령어만 입력해도 해당 브랜치로 변경사항을 푸쉬한다.
$ git push --set-upstream origin master
참고 사이트
https://tagilog.tistory.com/377
[GITHUB 사용법] 왕초보를 위한 깃허브사용법 (Git사용법)
코딩할 때 뺄래야 뺄 수 없는 서비스 중 하나가 GitHub (깃허브) 입니다. 현역 프로그래머에게는 너무나 친숙한 서비스지만, 코딩 초보자에게는 생소할 수도 있습니다. 그래서 이번에는 코딩 초
tagilog.tistory.com
https://evan-moon.github.io/2019/07/25/git-tutorial/
Git 뉴비를 위한 기초 사용법 - 시작하기
이번 포스팅에서는 너도 쓰고 나도 쓰고 우리 모두 쓰고 있는 의 기초에 대해서 포스팅 하려고한다. 필자는 Git을 대학교 때 처음 접했는데 처음에는 “왠 이상한 클라우드에 소스코드를 올려놓
evan-moon.github.io
https://parkjh7764.tistory.com/39
Git, Git Bash 쉬운 설치/ Git Bash 설치 쉽고 자세한 설명/ 윈도우 OS에서 리눅스 환경 구축하기/ Git Bash
Git Bash라는 것을 설치하기 전에 Git Bash가 무엇인지 부터 알아보고 가자. Git Bash란 무엇인가? 아래 사진을 보면 왼쪽은 우리가 Windows 운영체제에서 주로 쓰는 '명령 프롬프트, cmd'이고 오른쪽 사진
parkjh7764.tistory.com
'Code > 그 외' 카테고리의 다른 글
[JAVA] JVM / JRE / JDK (0) 2021.11.22