인파

You Can Become A

늦게 시작해도 누구든지 노력하면 개발자가 될수 있어요 !

공부한 내용을 정리합니다
GIT

[GIT] ⚡️ git add * 🆚 git add . 차이점

git add * / git add . 차이점 둘다 현재 디렉토리에 있는 모든 파일을 스테이징 하는 것이지만, 사소한 차이가 있다. git add * 는 .gitignore파일에 있는 파일들도 stage로 올리는 것 git add . 는 .gitignore파일에 있는 파일명들은 제외하고 stage에 올리는 것 ✅ 따라서 .gitignore를 사용한다면 git add .를 사용하면 된다

category_image
인파_
2021.11.22
(0)
GIT

[GIT] ⚡️ 커밋하지않고 브랜치 간 이동 (git stash)

스태시(Stash) 파일의 변경 내용을 일시적으로 기록해두는 영역이다. 아직 마무리하지 않은 작업을 스택에 잠시 저장할 수 있도록 한다. 이를 통해 아직 완료하지 않은 일을 commit하지 않고 나중에 다시 꺼내와 마무리할 수 있다. 예를 들어, 파일 수정중 다른 branch로 이동해야하는 상황이 생기거나, master브랜치에서 작업해야되는데, 다른 브랜치에서 모르고 작업했을때 stash로 싹 저장하고 master브랜치로 넘어와서 임시로 저장된 작업내용을 적용해주면 유용하게 쓰일수 있다. git statsh 브랜치 another에서 작업하고 잠시 브랜치 master를 들러야 할 상황이 있다고 가정하자. cherry파일 내용을 수정하고 바로 master로 checkout하니 error메세지가 나온다. 해석..

category_image
인파_
2021.11.21
(0)
GIT

[GIT] ⚡️ 태그 기능 및 사용법 (git tag)

git 태그(Tag) git에서 태그란 우리가 알고 있는 것처럼 무언가 표시를 해두기 위한 태깅 기능을 위한 것으로, 특정 커밋을 태그해 두는 것이다. 특정 커밋을 가리키는 링크라고 생각해도 좋다. 이렇게 태그를 붙여놓으면, 커밋번호를 적는 대신에 태그명을 적어서 간결하게 시용할 수 도 있다. ($ git reset d07c24e 대신 $ git reset v1.0.0 으로) 나중에 작업을 하다보면 수백개의 커밋들이 쌓일텐데, 그 커밋들 중에 중요한것만 태그를 지정해서 가독성있게 사용할 수 있다. 커밋과 태그의 차이점이라고 한다면 커밋의 경우 checkout 하여 내용을 수정할 수 있으나, 태그는 수정이 불가능 하며, 따라서 읽기전용 커밋같은 개념이다. 보통 태그는 소프트웨어의 버전을 릴리즈 할 때 사용..

category_image
인파_
2021.11.21
(0)
GIT

[GIT] ⚡️ 원하는 commit 가져오기 (git cherry-pick)

원하는 commit 가져오기 git을 이용해 코드 관리를 하다보면 커밋을 다른 브랜치에 잘못 하거나, 요구사항이 바뀌어 필요 없는 커밋이 생기거나, 코드 의존성(dependency) 때문에 다른 사람의 커밋 중 일부를 가져와야 하는 경우가 종종 생긴다. 이때 사용할수 있는 명령어가 cherry-pick 이다. git cherry-pick git cherry-pick 명령어는 특정한 commit 하나만 콕 찝어서 현재 HEAD가 가리키는 branch에 추가할 수 있게 해준다. 쉽게 말해서 다른 branch에 있는 여러개의 commit들 중, 원하는 commit을 지금 내 branch에 가져와서 commit 할 수 있는 것이다. cherry pick이란, 체리 한 바구니에서 제일 좋은 체리만 고르는 것에서 ..

category_image
인파_
2021.11.21
(0)
GIT

[GIT] ⚡️ .gitignore 💯 작성 정리 (자동 생성 + 작성 규칙)

.gitignore 파일이란? 프로젝트에 원하지 않는 백업 파일이나 로그파일 혹은 컴파일 된 파일들을 Git에서 제외시킬 수 있는 설정 파일을 말한다. 예를들어 깃허브에 커밋할때 필요하지 않는 파일은 업뎃 시키지 않는 기능이다. 파일을 제외시킴으로서 업로드 용량을 줄일수도 있고, 소스 보안도 챙길 수 있어 일석이죠 이다. .gitignore 자동생성 사이트 검색창에 운영체제, 개발환경(IDE), 프로그래밍 언어를 검색하면 .gitignore 파일을 자동으로 생성해 준다. gitignore.io Create useful .gitignore files for your project www.toptal.com # Grunt intermediate storage (https://gruntjs.com/creati..

category_image
인파_
2021.11.20
(0)
GIT

[GIT] ⚡️ git add / commit / push 취소하기 💯 정리

기존 코드를 날리고 싶지않으면 origin(깃헙)에다가 push를 해놓고 리셋해야 원격서버에 내가 작업한게 남는다. 로컬에선 다 사라지기 때문이다. git add 취소하기 (파일 상태를 Unstage로 변경하기) 아래와 같이 실수로 git add * 명령을 사용하여 모든 파일을 Staging Area에 넣은 경우, Staging Area(git add 명령 수행한 후의 상태)에 넣은 파일을 빼고 싶을 때가 있다. 여기에 두가지 방법이 있다. git reset HEAD HEAD가 가리키는 시점의 버전으로 파일을 unstage하고 되돌린다. # CONTRIBUTING.md 파일을 Unstage로 변경한다. $ git reset HEAD CONTRIBUTING.md # 전체 취소 $ git reset HEAD..

category_image
인파_
2021.11.19
(0)
GIT

[GIT] ⚡️ Branch 정리 (git branch / checkout / switch / merge / rebase)

Git Branch(브랜치) 란? SW를 개발할 때, 깃의 브랜치기능을 활용한다면 같은 팀끼리 작업 프로젝트를 공유하고 같이 작업할 수 있도록 해준다. 또 혼자서 작업하더라도 여러 버전을 만들어 놓을 때, 또는 본 작업에서는 시도하기 힘든 테스트를 할 때 바로 이 "브랜치"라는 것이 굉장히 유용하게 된다. 동시에 다양한 작업을 할 수 있게 만들어 주는 기능 "브랜치(Branch)"를 이용하면 각자 독립적인 작업 영역(저장소) 안에서 마음대로 소스코드를 변경할 수 있다. 브래치는 독립적으로 어떤 작업을 진행하기 위한 개념으로, 필요에 의해 만들어지는 각각의 브랜치는 다른 브랜치의 영향을 받지 않기 때문에 여러 작업을 동시에 진행할 수 있게 된다. 만일 브랜치가 없다면 작업을 모두 수행 후 다른 작업자에게 ..

category_image
인파_
2021.11.19
(0)
GIT

[GIT] ⚡️ Github에 잘못 올라간 파일 삭제하기

Github 파일 삭제 과정 상황을 들어보자. 작업이 완료되어 저장소에 push를 날렸다. 하지만 모르고 작업에 필요했지만 올리지 않아도 되는 private이라는 폴더를 올려버렸다. 그래서 폴더를 삭제하고, 다시 push를 날렸다. 하지만 Github에서는 삭제되지 않았다. 폴더를 리팩토링하고 난 후에도 마찬가지이다. 삭제 및 이동을 하고 push를 할 시 Github에 있는 폴더는 유지된 채 바뀐 폴더가 새로 생성된다. 원격 저장소에 이미 파일은 저장되어있다. 로컬에서 삭제만 한다고 해서 원격 저장소에서 삭제가 이루어지지 않는다. 이 경우 git 명령어를 통한 파일 삭제 후 push를 해줘야한다. push를 원격저장소에서 받으면 로컬 커밋의 내용에 따라 업데이트 하기 때문이다. git rm (파일 re..

category_image
인파_
2021.11.19
(0)
GIT

[GIT] ⚡️ 깃헙 - 원격 저장소 연동 💯 정리 (git remote / push / pull)

GIT 원격 저장소 연동 Git을 제대로 사용하기 위해서는 원격 저장소가 필요하다. Remote repository(원격 저장소)를 사용하면 프로젝트 작업물을 안전 하게 백업할 수 있으며, 많은 사람들과 협업이 용이하다는 장점이 있다. 깃허브(GitHub) 란? 깃을 사용해서 클라우드를 쓰듯이 소스들을 업로드해서 저장하고, 다른 개발자들과 공유, 협업 할 수 있는 깃 저장소들 중에 대표적인 것으로 Bitbucket, Gitlab, Github가 있는데, 그 중 깃허브가 가장 유명하다. 깃과 깃허브에 익숙해진다면, 내 소스들을 안전하게 깃허브에 저장하고, 다른 팀원들과 수월하게 협업을 할 뿐 아니라, 깃허브라는 방대한 코드의 숲에서 전세계 뛰어난 개발자들과 함께하는 경험을 할 수 있을 것이다. 저장소 생성..

category_image
인파_
2021.11.19
(0)
GIT

[GIT] ⚡️ 버전 관리하기 (git init / add / commit / log / diff)

Git 버젼 관리 시작 git init 깃 저장소를 초기화한다. 저장소나 디렉토리 안에서 이 명령을 실행하기 전까지는 그냥 일반 폴더이다. 이것을 입력한 후에야 추가적인 깃 명령어들을 줄 수 있다. # 버전 관리를 하고자 하는 폴더 경로로 가서 .git 폴더 저장소를 추가하여, 버젼관리 시작 $ git init # 초기 설정 $ git config --global user.name "본인의깃닉네임" $ git config --global user.email "본인의깃이메일" (master)라는 표시가 생기고, .git이란 폴더가 생성된다. .git이란 폴더는, 파일의 history가 저장되는 폴더이므로 절대 절대 삭제하지 말 것‼‼ git 스테이징 git add 이 명령이 저장소에 새 파일들을 추가하진 ..

category_image
인파_
2021.11.18
(0)
GIT

[GIT] ⚡️ git 개념 & 원리 (그림으로 알기쉽게 비유 😃)

Git 이란 무엇인가? Git이란 분산형 버전 관리 시스템(Version Control System) 의 한 종류이며, 빠른 수행 속도에 중점을 둔다. 우리가 레포트를 제출한다고 가정했을때, 처음에 저장했을때 'report.txt'라고 저장을 했다가 수정을 하면서 'report_final.txt'로 저장하고 또 수정을 거치면서 'report_final_final.txt'...로 수정을 하게 되는 경험이 있었을 것이다. 여기서 이 파일들을 복사, 백업, 저장 등을 한것이고, 이러한 것을 버전 관리라고 부른다. 버전 관리란? 버전관리 시스템은 파일변화를 시간에 따라 기록했다가 나중에 특정시점의 버전을 다시 꺼내올 수 있는 시스템이다. 각 파일을 이전 상태로 되돌릴 수 있다. 프로젝트를 통째로 이전 상태로 되..

category_image
인파_
2021.11.17
(0)