프로그래밍에서 수많은 파일들을 어떻게 관리할것인가..
GIT 과 GITHUB를 통해서 관리를 한다.
GIT ; 소스 이력 추적을 위한 버전관리 시스템
GITHUB ; GIT 프로젝트를 관리하는 저장소 제공
GIT을 자신의 컴퓨터에 맞게 설치한다. 32BIT, 64BIT
터미널을 통해 GIT BASH를 띄운다.(GIT 설치 시, 터미널에 GIT BASH 추가 체크박스 선택!! 나는 예전에 설치해서 어떻게 터미널에 띄우는지 구글링해봣지만 모르겟다)
GITBASH를 열어서 기본적인 명령어를 사용해보자
git --version //check git version
git config --global user.name "자신의 이름" // user name for all of project
git config --global user.email "자신의 이메일" // user email for all of project
git config --list // u can check your user.name , user.email and etc.
나는 맥이 아니니 스킵
step1. git init
step2. gitignore
step3. $ git status
step4. $ git add . # add all of files
step4. $ git add "file name" # add one file
step5. $ git commit -m "message" #로컬 저장소에 변동 기록을 남기기 위해 commit을 실행, commit을 통해 새로운 버전을 git에 등록, message를 남기는 이유는 commit에 대한 정보를 기록하는 것이다.
step6. $ git branch -M main #현재 바라보고 있는 branch의 이름을 main으로 변경, main을 기본 브랜치명으로 사용
staging: 상용에 반영하기 전 테스트 버전
feature: 새로운 기능 추가 개발(병렬 작업)
vscode에서 gitbash 터미널 사용
git init //git 초기화
ls -al //숨김폴더포함 모든 폴더 확인가능
git branch -M main //현재 바라보고 있는 branch 이름 master를 main으로 변경
git add test.txt(#파일명임.) //이렇게 하면 .gitignore파일을 add되지 않을 수 있음
git add . // .gitignore파일까지 add가능
.gitignore: 자신이 공개하고 싶지 않은 파일명을 입력하여 그 파일을 공개하지 않음.
git status //자신이 add한 파일과 add 안 된 파일 확인 가능
git rm --cached test.txt // git status를 통해 명령어를 통해 해당 명령어(rm) 확인 가능하다
git commit -m "첫 번째 커밋" //보통 메세지를 영어로 설정한다. 한글로 설정하면 오류발생 위험(인코딩문제)이 있다. 하지만 한글로 사용하는 것도 가능하다.
git log //commit으로 git에 등록한 버전을 확인할 수 있다. 작성자, 날짜 정보 확인 가능.
step1. git remote add origin "원격저장소 주소" #로컬 저장소의 프로젝트를 원격저장소에 반영
step2. git push -u origin "브랜치명" #원격저장소의 로컬의 소스를 실제로 반영하는 push 명령어.
-처음에 u옵션을 사용하면 나중에 git push만 입력하더라도 원격저장소에 작업했던 브랜치의 프로젝트 push작업을 수행할 수 있다.
-push는 인증받은 사용자/호스트/컴퓨터에서만 허용한다.
-원격 저장소로 프로젝트를 push하면 Github에서 코드/코드변경이력 확인 가능하다.
여기서 중요한 것은! .gitignore파일에서 명시한 text2.txt와 text3.txt파일은 git의 관리대상에서 제외되었기 때문에 commit조차 되지 않았다. commit 메세지 확인 가능.
협업을 하기 위해서는 원격저장소에서 내 로컬환경(컴퓨터)로 프로젝트를 가져와야 한다.
그렇기 위해서 clone명령어를 사용한다.
step1. git clone "원격저장소 주소" #프로젝트(협업)가 위치한 깃허브 주소를 가져와야 한다.
아래의 HTTPS주소(원격저장소 주소)를 복사해서 가져온다.(클론으로 불러온다)
git clone https://github.com/"계정명"/"프로젝트명".git #원격저장소 주소 형식
step2. git checkout -b "브랜치명"
step2. git checkout "브랜치명"
#main에서 가지를뻗어 나만의 작업공간 or 특정기능을 위한 작업공간을 만드는 명령어
#-b옵션은 브랜치를 신규로 만들면서 바로 그 브랜치로 이동할 수 있도록 한다. 그래서 main브랜치에는 영향을 끼치지 않으면서 작업할 수 있다.
-git checkout -b feature-1 #feature-1이라는 브랜치를 만드는 명령어
-git commit -m #feature-1에서 작업을 끝마치고 이 변경사항을 main으로 반영하는 일만 남음. 그러기 위해서는 feature-1에서도 반드시 새로운 버전을 찍어줘야한다. 그럴려면 commit명령어를 사용한다. 적절한 commit메세지 입력.
-git checkout main #합치는작업을 하기위해서는 main으로 이동해야 한다.
step3. git merge "브랜치명" #변경사항을 모두 하나의 줄기에서 병합하기 위한 명령어
Grapic User Interface : 화면조작하는것. ex) 버튼누르기
터미널의 명령어가 아닌 그래픽유저인터페이스를 사용해 시각적으로 활용하자.
기존에는 vscode gitbash에서 명령어(commit, add 등등)을 입력해야 했지만, git fork라는 툴을 사용하면 GUI를 사용하여 명령어를 입력하지 않고도 편리하게 커밋이나 브랜치 등을 할 수 있다.
vscode에서 gitlens라는 것을 사용해도 되지만, 강의에서는 vscode가 무거워지는것을 염려하여 따로 git fork라는 툴을 사용한다고 한다.
vscode에서 사용하고 싶다면, GitLens-Git supercharged를 다운로드 받으면 된다.
git fork 이미지
너무 쉬운 git clone/pull/fetch 설명블로그
https://sin0824.tistory.com/11
글 잘 봤습니다.