Git 이란? VCS(Version Control System)의 약자 프로그램의 버전 관리를 위한 툴 1) 버전: 유의미한 변화가 결과로 나온것 Git 최초설정 1. 작성자 / 이메일 설정 git에 로그인 하기 위한 아이디와 이메일이 아닌 작업을 할때 누가 작업
버전 관리에서 제외하는 파일 리스트포함할 필요가 없는 경우코드를 실행하면 생성되는 결과물언제든 인터넷에서 받을 수 있는 라이브러리 포함해서는 안되는 경우민감한 정보 (비밀번호 API KEY 등...)secrets.yaml 파일 만들기git status 입력하여 추가된
git이 관리하는 폴더 안의 변화를 추가하기 위한 명령어git add 파일이름git add . (모든 파일)vscode 터미널에 다음과 같은 명령어를 입력git status 를 입력하면 상태가 변화한 것을 알 수 있다.다른 파일들도 추가하기 위해 git add . 명
추가된 변경점을 버전으로 만듬git commit git add 명령어로 파일이 추가되어 있을때 git commit 명령어를 입력해당 화면에서 first commit을 입력후 esc->:wq입력으로 저장한다❗️만약 :q! 명령어로 commit 메시지가 저장되지 않
commit 한 내역을 되돌림 (이후 commit기록 삭제)ℹ️ git reset --hard 이후 커밋의 해시를 붙여넣지 않으면 가장 최근의 commit으로 리셋된다.commit 한 내용을 되돌리는 commit을 함협업을 하는 경우 reset 보다 revert를 해야
프로젝트를 여러 버전으로 관리해야 할 때 사용실배포용,개발용,테스트용 등....여러작업들이 동시에 진행될때 여러 사람이 협업해서 개발하는 경우=> 브랜치를 이용하면 하나의 폴더에서 가능git branch \[브랜치명] 을 입력하여 새로운 브랜치 생성 git branch
merge 두개의 브랜치를 합치는 명령어 git merge [합칠 브랜치의 이름] 두개의 브랜치의 내용이 합쳐진 또다른 커밋을 만듬 merge 해도 브랜치는 사라지지 않음 브랜치의 기록이 필요할 때 사용 rebase 한개의 브랜치를 다른 브랜치의 앞으
같은 부분에 다른 코드들이 합쳐져야 하는경우 git은 무엇을 선택해야 할지 알수 없으므로 두 코드가 conflict(충돌)이 일어났음을 알려준다. --- 실습하기 merge하는 경우의 conflict 충돌이 일어나는 상황을 만들기 위해 , 브랜치를 각각 생성한
Git으로 관리되는 프로젝트의 원격 저장소프로젝트의 모든 파일과 변경 이력을 저장하는 데이터베이스github.com 에 접속해서 아이디 만들기repository 탭에서 new 버튼 클릭 레포지토리 이름을 입력 후에 아래 create repository 버튼을 클릭
만든 github repositor에 …or push an existing repository from the command line 란에 적혀있는 명령어를 복사한다.프로젝트의 터미널에 복사하고 실행한다.git remote add origin (원격저장소 주소) : 로
내 로컬 저장소에서 원격 저장소로(github 또는 다른 저장소)에 commit을 업로드하는 것github에서 push할 파일의 commit 메시지를 확인"Edit Panthers"해당 파일을 수정하고 git push를 이용해서 원격 저장소에 commit을 업로드com
로컬 저장소에서 새로운 브랜치 생성후에 push를 하려면 아래와 같은 오류가 발생한다.해당 오류는 로컬 저장소의 from-local 브랜치를 원격 저장소 어느 브랜치 에다가 push해야하는지 알수 없다는 오류이다.따라서 원격에 브랜치를 설정하고 push를 해야한다.gi
파일의 수정 사항들이 만들어 지는곳코드가 작업되는 공간untracked : 처음 만들어져서 git으로 관리된적이 없는 파일tracked : 이전에 git으로 관리된 적이 있는 파일working directory 에서 add 명령어를 통해 선택된 파일들의 공간stagin
Head 현재 속한 브랜치의 가장 최신 커밋(브랜치의 가장 끝 부분) 명령어로 branch를 옮기면 각 branch의 head에 위치하게 된다 checkout reset/revert 와 다르게 파일만 과거의 어떤 commit으로 바꾸는 명령어
fetch 원격 저장소의 변경 내역 기록을 로컬에 받아놓음
git의 설정을 관리하는데 쓰이는 명령어git config --global <key> \[value] 형식으로 사용되고 key만 주게 되면 값의 확인을,value까지 주게 되면 해당 key의 값을 설정할 수 있다.\--global옵션을 주게되면 전역 설정을 할 수
커밋 메시지를 체계적이고 효과적으로 관리하기위해 미리 약속된 기준하나의 커밋에는 하나의 작업만여러개의 작업을 묶어서 올리지 않는다.type : 커밋의 종류subject : 커밋의 간략한 내용body : 커밋의 상세 내용footer : 특정 이슈에 대한 작업인 경우 작성
코드의 변경사항을 나타내는 작은 덩어리를 의미파일의 특정 부분에서 발생한 변경 사항의 집합을 의미한다.git add -p 명령어를 이용해 hunk 단위로 스테이징 할 수 있다.변경사항을 저장하고 git add -p를 입력명령어를 입력한 상태에서 특정 알파벳을 입력하고
Stash 작업중 급하게 다른 변경사항을 작업해야 할때 현재 작업을 임시로 보관하는 기능 실습 파일에 변경사항을 만들고 스테이징 한다. ℹ️ stash기능은 tracked 된 파일들만 가능하다 를 입력한다 작업한 내역이 전부 사라진 걸 볼 수 있다. 을 입력
이전 commit 을 수정하는 명령어실습을 위해 commit을 하나 생성한다git commit --amend 를 입력하면 commit 메시지를 수정할 수 있는 에디터가 열리게 된다커밋 메시지를 수정 하고 에디터를 닫으면 수정이 완료 된다git log를 입력하여 수정이
과거의 commit을 분할/삭제/병합 커밋 해시는 수정할 커밋(들)의 바로 이전 커밋 해시 값git rebase -i 명령어 리스트git rebase -i 명령어를 입력하고 나온 창에서 수정할 commit 앞의 기호를 'r' 로 바꾸어준다.나타난 에디터 창에서 값을 수
관리되지 않는 파일들 삭제하기실습을 위해 새로운 파일들 만들기git clean -n을 입력하면 이 명령으로 삭제될 파일들을 미리 보여줌git clean -di 입력해서 인터렉티브 모드로 진입3번 메뉴(번호로 고르기)를 누르고 지울 파일을 숫자로 선택한다선택된 파일/폴더
git으로 했던 모든 작업 내역들을 볼수 있는 명령어git reset --hard 를 사용해서 모든 작업 내용이 사라지고 로그도 없어졌다고 해도 git reflog에 남아있는 커밋 해시로 복구할 수 있다git reset --hard HEAD~15 명령어를 이용해서 15
특정 시점을 키워드로 저장하고 싶을 때 사용커밋에 버전 정보를 붙이고자 할 때 사용태그의 종류semantic tag에 대해 읽어보면 좋은 웹페이지커밋을 지정하지 않으면 가장 최신 커밋에 태그가 달림명령어 입력태그 확인해당 태그에서 일어난 변화를 보여줌태그를 삭제한다에디
git push (원격명) (태그명)git push --tagsgit push origin v1.2.0을 입력해서 원격 저장소에 태그를 업로드원격 저장소를 확인하면 업로드된 태그를 확인할 수 있다 태그를 클릭하면 태그의 상세 정보를 확인할 수 있다.git push -
a 브랜치에서는 작업이 이루어진것이 없고 b브랜치는 a브랜치의 자식두 브랜치를 병합할 때 새로운 커밋을 추가할 필요 없이 A브랜치의 HEAD를 B브랜치로 옮김으로써 병합 마무리 필요에 따라 B 브랜치를 삭제.fast-forward merge는 병합 커밋을 생성하지 않으
Cherry Pick 특정 브랜치의 원하는 커밋만 복제해 가져오는 방법 실습 커밋 현황 터미널에 가져올 커밋의 해시와 함께 명령어를 입력한다 main 브랜치에 cherry-pick한 커밋이 옮겨진 것을 확인한다. ![](https://velog.velcdn.com
커밋들을 하나로 묶어서 가져올 때 사용현재 저장소 상태 git merge --squash root를 이용해 root 브랜치에 있는 모든 커밋들을 하나의 커밋으로 merge한다root 브랜치의 모든 변화를 담은 커밋이 merge 된 상태로 스테이징 되었는지 확인한다.기존
참고 사이트main배포/출시를 위한 브랜치. 버전태그가 붙는다.release 테스트된 결과는 다시 develop브랜치에 옮겨져서 수정되거나 main 브랜치로 이동한다.feature 기능개발은 동시에 여러개가 존재할 수 있다.hotfixmain 브랜치에서 뻗어나와 수정되
로그마다 변화된 내용을 확인한다.최근 n개의 로그만 본다파일의 추가/샂게 내용 변화를 보여준다.더 간략히 보려면 --shortstat을 입력한다.로그를 한줄로 본다\--pretty=oneline --abbrev-commit의 단축 옵션\--pretty=oneline:
워킹 디렉토리의 변경사항 확인변경된 파일 이름만 보여주기스테이지에 올려진 파일들이 마지막 커밋과 어떻게 다른지 확인2개의 커밋을 비교함브랜치 간의 비교
각 라인이 누가 작성했는지 볼 수 있는 명령어 git blame (파일명) git blame -L (시작줄) (끝줄, 또는 +줄수) (파일명) git blame (파일명) git blame -L (시작줄,1부터시작) (끝줄,포함) (파일명) git blame -L (시
이진 탐색 알고리즘을 이용해서 에러가 발생한 곳을 찾아내는 명령어쉽게말해 up down 게임 방식으로 절반씩 나누어서 숫자(에러)를 찾는것과 비슷하다주요 옵션저장소 상황git bisect start를 입력해서 과정을 시작한다.git checkout (커밋해시)를 입력해
일종의 자동화 프로그램어떤 이벤트가 발생하면 그 이벤트에 해당하는 특정한 명령어를 실행할 수 있다.이벤트 : commit전/rebase전 등....git/hooks 폴더에 hook파일들이 위치해 있다.파일명 뒤에 'sample'이 적혀있는 파일들은 샘플이며 뒤에 'sa
하나의 Git 저장소 안에 또 다른 Git 저장소를 포함시키는 기능상위 저장소에서 하위 저장소의 git 정보를 추적 한다여러 프로젝트에서 공유되는 모듈형 프로젝트등에 쓰인다. 폴더를 만들고 임시 파일을 하나 생성한다.2.메인 저장소가 될 로컬 저장소를 초기화 하고 내용
프로젝트에 대한 기본 정보를 제공하는 파일markdown 문법으로 작성한다.github markdown 매뉴얼github 홈페이지에서 직접 작성 프로젝트에서 pull을 하여 가져온다
사용자가 자신의 작업을 원본 저장소에 병합해달라고 요청하는 것을 의미한다.협업에서 매우 중요한 역할을 하며, 코드 리뷰, 토론 및 병합 과정을 쉽게 관리할 수 있게 해준다.pull request를 실습하기 위해 새로 브랜치를 만들어서 원격 저장소에 push 한다.git
Milestones 프로젝트의 특정 목표나 단계에 도달하기 위해 관련된 여러 이슈를 그룹화하여 관리하는 데 사용된다. 프로젝트의 주요 진척 상황을 모니터링하고, 일정 관리를 효율적으로 할 수 있도록 도와준다. 실습 Issue탭에서 Milestones를 클릭한다. C
다른 사용자의 저장소를 복제하여 자신의 계정에서 독립적으로 작업할 수 있다. 원본 저장소와 분리된 복제본을 생성하여, 원하는 대로 수정하고 개발할 수 있다.오픈 소스 프로젝트에 기여하고자 할 때 유용하게 쓰인다.github에서 fork 하고 싶은 프로젝트에서 해당 아이
github pages 소개 페이지 github에서 유저들에게 제공하는 무료 정적 웹사이트 호스팅 서비스 개발 블로그 등으로 많이 쓰인다. 실습 새 저장소를 만들고 저장소 이름을 (아이디).github.io로 작성한다. 여러사람이 볼 수 있도록 꼭 public
git에서는 리포지토리에 접근하는 방식으로 SSH와 HTTPS 두 가지 방식을 제공한다. 두 방식 모두 push,pull등을 할 수 있지만 사용성과 보안 측면에서 차이가 있다.높은 보안성, 무비밀번호 인증, 설정 복잡성간편한 설정, 비밀번호 인증, 보안 우려(2단계 인
GPG Git GPG 키는 Git 커밋과 태그에 서명을 추가하여 소스 코드의 무결성과 출처를 보증하는 데 사용된다. GPG키를 통해 커밋에 디지털 서명을 하면, 그 커밋이 특정 사용자가 만든 것임을 증명할 수 있으며 이를 통해 코드의 출처를 확인할 수 있고, 코드가 신
Github Actions GitHub에서 제공하는 CI/CD 플랫폼. 코드를 빌드, 테스트, 배포하는 자동화된 워크플로우를 설정할 수 있다. push 나 pull request등의 다양한 이벤트에 대응하는 작업들을 자동으로 수행 할 수 있다. 실습 홀수값이 들어오면
크롬이나 엣지 등에서 사용가능한 익스텐션git 폴더를 보다 편하게 브라우징 가능하도록 해준다설치링크github에서 할 수 있는 일들을 터미널 명령어로도 할 수 있게 해주는 툴매뉴얼github CLI로 할 수 있는 명령어들로그인 / 로그 아웃저장소 보기이슈 만들기 / 열