GIT | 깃허브 사용법 총정리 git add, commit, push

|

간단 설명

image 55
GIT | 깃허브 사용법 총정리 git add, commit, push 8

들어가기전에

Maser / Slave / blacklist / whitelist 라는 예명은 더이상 사용하지 않습니다.

나타니엘 프리드먼 – Github CEO

새로 프로젝트를 생성할 때의 메인 브랜치명이 master에서 main으로 변경되었습니다.
기존에 있던 프로젝트는 그대로 사용되고 있습니다.

그 외의 리스트는 다음과 같습니다

  • * master → main/default/primary
  • * slave → secondary
  • * blacklist → deny/exclude list
  • * whitelist → allow list

사전작업

image 56
GIT | 깃허브 사용법 총정리 git add, commit, push 9

깃헙에 같이 할 프로젝트에 들어갑니다. 우리는 원격저장소 주소가 필요합니다. 우측의 Code 를 클릭한 다음 SSH 를 클릭하여 원격 저장소 주소를 복사합니다. [email protected]:아이디/프로젝트명.git 으로 되어있을겁니다

image 57
GIT | 깃허브 사용법 총정리 git add, commit, push 10
$ cd c:\                         # C: 에 접근합니다
$ mkdir newProject               # 폴더를 생성합니다
$ cd c:\newProject               # newProject 폴더에 접근합니다
$ git clone {원격 저장소 주소}   # 내가 있는 폴더에 git 자료를 다운받습니다

c:\에 newProject 폴더를 만들고 c:\newProject 로 이동한 다음 git 자료를 다운받는 과정입니다.

깃 시작 명령어

https://github.com/rit245/wp_rading_theme.git
echo "# wp_rading_theme" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/rit245/wp_rading_theme.git
git push -u origin main
git remote add origin https://github.com/rit245/wp_rading_theme.git
git branch -M main
git push -u origin main

깃 명령어

명령어설명
git -init현재 위치에서 지역 저장소를 만듭니다
git config
git config -l
git config –global user.name “사용자명”
git config –global user.email “사용자이메일”
환경설정 명령어 보기
환경설정 리스트 보기
깃 환경에서 사용자 이름을 설정
깃 환경에서 사용자 이메일을 설정
git help도움말을 봅니다
git status변경상태를 확인합니다
git add .
git add {파일명.html}
모든 파일을 스테이지에 올립니다
파일을 스테이지에 올립니다
git commit -m “설명”
git commit -a -m “설명”
커밋 메세지를 붙여 커밋합니다
모든 파일을 커밋합니다
git branch
git branch {브랜치명}
git branch -M main
브랜치를 조회합니다
{브랜치명} 이라는 새로운 브랜치를 생성합니다
마스터 브랜치의 이름을 main 으로 변경합니다
git merge {브랜치명}
git merge {브랜치명} –edit
git merge {브랜치명} –no-edit
git merge –abort
브랜치명을 main 와 병합합니다
++ 병합 후 vi 편집기로 커밋 메세지를 수정합니다
++ 병합 후 아무것도 하지 않습니다
merge를 취소합니다
git switch {브랜치명}
git switch -c {브랜치명}
{브랜치명}으로 이동합니다
{브랜치명}을 생성하면서 이동합니다
[switch, restore 사용 권장]
git checkout {브랜치명}
git checkout -b {브랜치명}

{브랜치명} 으로 이동합니다
{브랜치명} 이름의 새로운 브랜치를 만들고 이동합니다
git clone원격 저장소를 복제합니다. fork 와는 다릅니다
git push
git push origin main
git push origin {브랜치명}
작업중인 자료를 업로드합니다
작업중인 자료를 origin/main에 업로드합니다.
작업중인 자료를 origin/{브랜치명} 에 업로드합니다.
git difftool서버와 차이점을 알 수 있습니다
git pull
git pull origin main
원격 저장소 자료를 다운받습니다
원격 저장소 main 자료를 다운받습니다
git fetch원격 저장소의 커밋을 가져오기만 하고 merge하지 않습니다.
가져온 브랜치 내용은 origin/{브랜치} 로 저장됩니다
git stash
git stash save
git stash list
git stash apply
git stash apply stash@{1}
git stash drop
git stash drop stash@{1}
git stash pop
작업 트리의 수정 내용을 보관합니다
작업 트리의 수정 내용을 보관합니다
보관중인 수정 내용 목록을 출력합니다
보관한 내용을 적용합니다
보관한 내용 1번째를 적용합니다
보관한 내용중 가장 최근 항목을 삭제합니다
보관한 내용중 1번째를 삭제합니다
보관한 내용을 apply하고 삭제합니다
git log
git log –pretty=oneline
git log –online –all
커밋 내역을 보여줍니다
커밋 내역을 한줄로 표기합니다
커밋 내용을 짧게 보여줍니다
touch .gitignore스테이징 추적&푸시를 제외할 파일을 생성합니다
git clean -fUntrackd files 를 삭제합니다

VS Code 확장 프로그램

image 123
GIT | 깃허브 사용법 총정리 git add, commit, push 11
image 124
GIT | 깃허브 사용법 총정리 git add, commit, push 12

리눅스 명령어

$ pwd : 내가 있는 경로 출력

$ cd (Change Directory) : 경로 변경

$ mkdir (Make Directory) : 폴더 생성

$ ls : 현재 경로에 있는 자료를 보여줍니다
$ ls -a : 숨김 파일을 포함한 모든 자료를 출력
$ ls -l : 세부 정보까지 출력
$ ls -d : 특정 파일이나 디렉토리를 지정하여 정보 확인
$ ls -R : 현재 경로의 하위 정보까지 확인

$ clear : 터미널 창의 내용을 삭제

$ exit : 터미널 창을 종료

$ vim {파일명.html}

gitignore 파일 및 폴더 차단

# 주석 #
{제외하고싶은폴더}/
{빼고싶은 폴더}/

.gitignore 는 깃허브에 업로드 되는 것을 원하지 않는 파일을 차단하여 효율성을 높일 수 있는 파일입니다.
일반적으로 자주 차단하는 파일을 자동으로 만들어주는 사이트 를 통해 도움을 받을 수 있습니다.

Git Bash

image 58
GIT | 깃허브 사용법 총정리 git add, commit, push 13

설명

저장소 ( 리포지토리 : Repository | repo )

쉬운 말 : 패키지 저장소
어려운 말 : 버전 관리 시스템에서 파일이나 디렉터리 구조의 집합을 위해 메타데이터를 저장하는 자료 구조입니다.
• 버전관리 ( Version Control )

우리는 컴퓨터 자료를 저장할 때 최종본, 진짜 최종본 등으로 여러 버전을 나누어 저장합니다. 깃을 사용하면 프로젝트 히스토리의 모든 시점의 스냅샷을 보관하고 있기에 잃어버리거나 겹쳐쓰지 않을 수 있습니다.
커밋 ( Commit )
책갈피를 만듭니다.
브랜치 ( Branch )

프로젝트에서 자신만의 버전을 만들어 수정합니다. 작업이 완료되면 프로젝트의 메인 디렉토리인 마스터 에 브랜치를 머지 하게 됩니다
pull

원격 저장소로부터 필요한 파일을 다운 + 병합합니다.
지역 브랜치와 원격 저장소 origin/main 가 같은 위치를 가르킵니다. (단순함)
Fetch : 가져오다

원격 저장소로부터 필요한 파일을 다운만 받습니다. 병합(Merge)은 따로 해야합니다.
이것을 써야하는 이유는 협업 때문인데, 같은 팀원이 먼저 변경사항을 커밋하고 push 하는 상황이 생깁니다. 그 때는 원격 저장소의 업데이트 된 내용이 나의 로컬 저장소에는 최신화가 되어있지 않을 것이기에 직접 파일을 확인하고 병합하는 과정이 필요합니다.

<특징>
원래 내용과 바뀐 내용과의 차이를 알 수 있습니다 : git diff HEAD origin/main
커밋이 얼마나 되었는지 알 수 있습니다 : git log --decorate --all --oneline
git merge origin/main 를 하면 git pull 상태와 같아집니다
포크 ( Fork : 🍴 )

다른 사람의 리포지토리(원본) 을 그대로 복제하여 자신의 새로운 리포지토리(복제본) 를 만드는 기능입니다.포크한 복제본은 원본과 연결되어있습니다. 그렇기에 원본에 새로운 커밋이 생기면 복제본에 반영할 수 있습니다
복제본이라 해도 자신의 리포지토리이기 때문에 pull, push 모두 가능합니다
원본에 복제본의 코드를 건의 할 수 있습니다. Pull Request 를 하면 됩니다.
• 클론 ( Clone )

원격 저장소의 커밋을 가져오기만 하고 merge하지는 않습니다
가져온 브랜치 내용은 origin/{브랜치} 로 저장됩니다
스태시 ( Stash : 따로 떼어두다 )

로컬에서 작업한 자료를 임시저장하여 둡니다.
커밋할 정도는 아닌데 작업을 도중 멈추어야 할 때 씁니다.

사용 예 : 현재 작업하고 있는 자료가 있는데 급하게 처리해야 할 요청이 있어 현재 내용을 저장해야 할 때
사용 예 : A 브랜치에서 작업해야 했는데 B 브런치에서 작업중이었을 경우 (임시저장)

체크아웃 (Checkout)
독자적인 브랜치를 만듭니다. main 이 아닌 영역에서 작업하는 것이기 때문에 아무리 Push를 해도 문제가 생기지 않습니다 여기서 Push 를 하게 되면 Pull request 에 승인을 기다리게 됩니다.

기본 브랜치 이름 수정하기

image 115
GIT | 깃허브 사용법 총정리 git add, commit, push 14

기본 브랜치 명을 더이상 master 로 사용하지 않기 때문에
이름을 main 브랜치로 수정하려면 위와 같이 진행해야 합니다

  • Settings (설정) 으로 접근합니다.
  • Branches 를 클릭합니다.
  • Default branch 에서 이름을 수정합니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

클릭하여 복사