Let's Study Coding

Welcome to Visit!!
Let's get it

웹 개발자로의 새로운 여정을 시작해 보겠습니다.

총 방문자
총 포스팅
오늘 방문자
000일 째 블로그 운영중

여러분들의 방문을
진심으로 환영합니다

웹 개발자로서, 다양한 개발 지식을 다루는
블로그를 만들어보겠습니다. 😃

최근 글

막 올라온 최신 포스팅을 구경해보세요 !

참고하는 웹사이트 목록 💻

필자가 자주 참고하는 웹사이트를 둘러보세요.

Img
2023. 2. 22. 22:45
[WebSite] 🖥️ 웹 개발을 할 때 자주 참고하는 사이트 모음.
목차 제가 웹개발을 할 때 자주 참고하는 사이트를 정리한 포스팅입니다. @Web's CSS 코드펜의 자료들 중 좋은 자료들을 모아 놓은 티스토리 블로그 사이트. 매우 유용한 자료가 많아서 애용하는 블로그다. @web's CSS 코드펜 레퍼런스 사이트입니다. wsss.tistor
더보기
Img
2023. 2. 13. 15:16
[WebSite] 🎨 유용한 무료 이미지 사이트 모음
목차 제가 주로 사용하는 또는 인터넷에서 찾은 유용한 무료 이미지 사이트를 모아서 정리한 포스팅입니다. Unsplash Unsplash는 200만개 이상의 완전 무료 고해상도 이미지를 제공하는 무료 이미지 사이트이다. 전 세계의 사진가들이 라이브러리에 사진을 제공하기
더보기
Img
2023. 2. 13. 15:01
[WebSite] 🖥️ 저작권 무료 목업 사이트 6곳 추천
포토샵, 일러스트를 이용한 디자인 작업을 할 때 로고나 웹, 패키지 등 디자이너들이 자신의 작업물을 더 업그레이드 하기 위하여 목업을 활용하고 있다. 오늘은 제가 주로 사용했던 무료 목업 사이트를 작성해보려고 한다. 1. Anthony Boyd Graphics Free Mockups
더보기
Img
2023. 2. 11. 20:33
[WebSite] 🌈 Gradient 사이트 모음.
목차 프론트엔드 웹개발을 하다 보면 Gradient를 이용하여 작업을 해야할 때가 많다. 문제는 Gradient 디자인을 할 때 단색으로 많은 톤을 잡지만 두 가지 이상을 사용할 때 조합이 어색하다면 전체적인 느낌이 살지 않을 수 있다. 하지만 조합이 잘된 그라데이션(Grada
더보기
Img
2023. 2. 11. 19:26
[WebSite] 🖥️ 유용한 SVG 사이트 모음
프론트엔드 작업을 하다보면 SVG를 사용하여 사이트를 만들어야 할 때가 생긴다. 그래서 어떤 유용한 SVG 사이트가 있는지를 알아볼 겸 자주 사용하는 SVG 사이트를 정리해서 작성해보려고 한다. 필자는 주로 7개의 SVG 사이트를 이용한다. 1. 부트스트랩(Bootstra
더보기

CSS 스타일링 🎨

웹 개발을 할 때 사용하는 CSS 사용방법을 확인해보세요.

Let's Write Message

Guest Book

블로그를 방문해주셔서 감사드립니다.
자유롭게 댓글 달아주세요 ~

Let's Choose Tag Box

Tag Page

원하시는 태그를 클릭해보세요.

Light Dev
Light Dev에서 공부한 내용을 정리합니다.

-

[Git] 💽 자주 쓰는 Git 명령어 💯 총 정리 본문

[Git] 💽 자주 쓰는 Git 명령어 💯 총 정리

Light9639

목차

    시작하며

    자주 쓰는 git 명령어git commands cheat sheet를 참고하여 정리해보자. 자세한 내용은 git-scm 공식 사이트가 더 정리가 잘 되어있다.

     

     

    Git

     

    git-scm.com

     

    git으로 새로운 프로젝트를 시작하려고 하면 프로젝트 생성하기로 이동하면 된다. 또는 필요한 명령어나 자주 쓰는 명령어만 찾아서 프로젝트에 사용하면 된다.


    자주 쓰는 Git Command

    Shell
    # 현재 directory 의 모든 파일을 Staging Area 로 이동
    git add .
    
    # file 들의 tracking 상태 보기
    git status
    
    # Staging 의 파일들 commit 하기
    git commit -m "messsage"
    
    # 저장소에 commit 반영하기
    git push
    
    # 저장소에서 commit 가지고 오기
    git pull
    
    # remote origin의 development branch merge
    git merge origin/development
    
    # 한 줄로 그래프 형태로 commit 히스토리 보기
    git log --oneline --graph
    
    # remote에서 삭제된 brach를 local 에서도 깔끔하게 삭제
    git fetch origin --prune

    Setup 초기 설정

    사용자 이름, Email 설정

    시작 전에 사용자 이름과 Email을 설정한다.

    Shell
    git config --global user.name “[firstname lastname]”
    git config --global user.email “[valid-email]”

    출력 색상 변경

    출력되는 command line를 읽기 쉽도록 자동으로 색상을 설정한다.

    Shell
    git config --global color.ui auto

    사용자 설정 정보 확인

    전체 설정 정보 확인을 위해 아래 명령어를 실행하거나 혹은 .gitconfig 파일을 확인한다.

    Shell
    git config --list

    사용자 정보는 아래와 같이 확인한다.

    Shell
    git config --global user.email
    git config --global user.name

    Git 프로젝트 생성하기, 가져오기

    아래 두 가지 방법 중 한가지로 Git 저장소를 시작할 수 있다.

    • 아직 버전관리를 하지 않는 로컬 디렉토리 하나를 선택해서 Git 저장소를 적용하는 방법
    • 다른 어딘가에서 Git 저장소Clone 하는 방법

    git init: 기존 디렉토리를 Git 저장소로 만들기

    프로젝트 directory로 가서 git init을 실행하면 새로운 Git 저장소가 만들어진다.

    Shell
    # 프로젝트 directory로 이동
    cd [my_project path]
    
    # README 파일 생성
    echo "# my_project" >> README.md
    
    # git 저장소로 등록
    git init
    
    # 관리할 file을 Staging Area 추가
    git add README.md
    
    # Staging Area 에 추가된 파일 commit
    git commit -m "first commit"
    
    # 최초 등록된 master branch 대신 main branch 사용하도록 변경
    git branch -M main
    
    # 원격 remote repository에 추가
    git remote add origin [git URL]
    
    # git push
    git push -u origin main

    git clone: git repository 가져오기

    기존에 사용 중인 저장소를 clone 해서 가져올 수 있다.

    Shell
    git clone [url]

    Snapshot 스냅샷 다루기

    Git 스냅샷 즉 특정 상태의 버저닝을 생성한다. Staging Area에 파일을 추가하고 commit, push 정도만 알면 된다.


    git add

    working directory에서 파일/폴더를 Staging Area(“index”)에 등록하여 git으로 관리를 시작한다.

    Shell
    git add [file]

    git status

    Git의 현재 상태 확인한다. Staging Area, UnStage Area 에 있는 파일 및 Untracked 상태의 파일을 확인 할 수 있다.

    Shell
    git status

    git diff

    git diff 명령은 두 트리 개체의 차이를 보고 싶을 때 사용한다.

    Shell
    # stage 되지 않은 변경 비교
    git diff
    
    # stage 되어 있으나 아직 commit 되지 않은 변경 비교
    git diff --staged

    git commit

    git commit 명령은 Staging Area의 모든 파일을 커밋한다. 저장소에는 하나의 스냅샷으로 기록된다. 그 뒤 현재 Branch가 새 커밋을 가리키게 한다.

    Shell
    git commit -m “[커밋 상세 메시지]”

    --amend 옵션으로 최근 커밋을 재작성할 수 있다.

    Shell
    git commit --amend

    아래와 같이 commit에 깜박한 파일이 있으면 아래와 같이 수정 가능하다. 이렇게 --amend 옵션으로 커밋을 수정하는 작업은 이전의 커밋을 완전히 새로 고쳐서 새 커밋으로 변경하는 것을 의미한다. 이전 커밋은 일어나지 않은 일이 되는 것이고 당연히 히스토리에도 남지 않는다.

    Shell
    git commit -m 'initial commit'
    git add forgotten_file
    git commit --amend

    git reset

    git reset 명령은 되돌리는(Undo) 명령이다. git reset 명령은 기록이 없어질 수 있어서, 위험하므로 주의하여 사용해야 한다.

    Shell
    # Staged 상태의 파일을 Unstage 로 변경
    git reset
    
    # staging area가 초기화되고 working tree를 특정 커밋시점으로 덮어쓰기 
    git reset --hard [commit]
    
    # 이전 Head 시점으로 초기화. working directory, 최근 commit 이력이 삭제된다.
    git reset --hard HEAD^

    git rm

    Staging AreaWorking directory에 있는 파일을 삭제한다.

    Shell
    git rm [file]

    git mv

    파일/폴더의 이름을 변경한다.

    Shell
    git mv [existing-path] [new-path]

    mv 명령어는 사실 아래와 같이 동작한다. 즉, 이름이 변경된 파일을 삭제하고 다시 add 하는 것과 똑같다.

    Shell
    mv README.md README
    git rm README.md
    git add README

    git clean

    working directory에서 필요 없는 파일을 삭제한다. 충돌로 생긴 파일이나 build artifact 파일을 삭제할 때 편리하다.

    Shell
    git clean

    Branch와 Merge

    git branch

    branch를 관리하는 명령어이다.

    Shell
    # branch 목록 조회, *가 현재 branch 
    git branch
    
    # 원격 branch 목록 조회
    git branch -r 
    
    # 전체 branch 목록 조회
    git branch -a

    신규 branch를 생성한다.

    Shell
    # branch 생성
    git branch [branch-name]

    Branch를 변경하고 해당 파일을 Working directory로 복사한다.

    Shell
    # branch checkout
    git checkout

    git merge

    다른 Branch를 현재 CheckoutBranch에 Merge 한다. Merge 하고 나서 현재 Branch가 Merge 된 결과를 가리키도록 옮긴다.

    Shell
    # 특정 branch를 현재 checkout 된 branch에 merge
    git merge [branch]
    
    # remote origin의 main branch merge
    git merge origin/main
    
    # local 저장소의 main branch merge
    git merge main

    log

    git log

    commit 히스토리를 시간의 역순으로 보여준다.

    Shell
    # 커밋 히스토리를 시간 순으로 조회
    git log
    
    # 최근 number개만 노출
    git log -[number]
    
    # oneline 으로 히스토리 노출
    git log --oneline
    
    # graph 로 출력
    git log --graph

    공유 & 업데이트

    git fetch

    로컬 저장소에 있는 것을 뺀 remote 저장소의 모든 것을 가져온다.

    Shell
    git fetch [remote]

    --prune 옵션으로 remote 저장소에 지워진 브랜치를 local 반영하여 local의 불필요한 branch를 삭제한다.

    Shell
    git fetch --prune

    git pull

    remote의 commit을 가져오고 병합한다. git fetchgit merge 명령을 순서대로 실행하는 것과 같다.

    Shell
    git pull

    git push

    로컬 저장소의 commit 내역을 remote 저장소로 전송한다. -u 옵션은 upstream repository를 설정해준다. 즉, 한번 설정한 후로는 git push, git pull 만 간단히 사용할 수 있다.

    Shell
    git push [remote] [branch]
    
    git push -u origin main

    git remote

    원격 저장소 설정 관리 도구를 의미한다.

    Shell
    #  현재 프로젝트에 등록된 리모트 저장소를 확인
    git remote
    
    # 단축이름과 URL을 함께 조회
    git remote -v
    
    # git url 에 remote(저장소) 이름으로 등록한다.
    git remote add [remote] [url]
    
    git remote add origin https://github.com/cusbert/TIL.git

    임시 저장

    git stash

    git stash은 현재 작업을 임시 저장할 때 사용한다.

     

    예를 들어 A라는 작업을 진행하다가 잠깐 다른 B 작업을 우선 할 일이 생겼을 때 A를 커밋하지 않고 Stash 했다가 B를 끝낸 후 다시 A라는 작업을 진행 할 수 있다. 즉, Branch에 관계없이 아직 끝나지 않은 수정사항을 스택에 잠시 임시로 저장했다가 나중에 다시 적용하는 방식이다.

    Shell
    # modified, staged 변경 내용 임시 저장 
    git stash
    
    # stashed 조회
    git stash list
    
    # stash 내역 working directory로 추가
    git stash pop
    
    # stash file 제거
    git stash drop

    잘못된 내용이 있으면 언제든 피드백 부탁드립니다.

    이 글이 좋으셨다면 구독 & 좋아요

    여러분의 구독과 좋아요는
    저자에게 큰 힘이 됩니다.


    Light Dev
    Light dev
    웹 개발자로의 새로운 여정을 시작해 보겠습니다. 조언해주실 부분이 있으시면 언제든 이메일 부탁드립니다.

    사이트를 방문해 주셔서 감사합니다

    만일 도움이 되셨으면 공감과 구독 버튼 클릭 부탁드립니다.
    추가적인 질문사항이나 이해가 안되는 점이 있으면 댓글로 적어주세요.

      Light9639
      티스토리에 팔로잉