깃헙

3. 깃허브의 버젼관리, 히스토리관리 with. gitinore

이게뭐당가 2023. 2. 22. 09:28

이제야 깃허브의 히스토리 관리의 중요성과 커밋메시지의 중요성을 깨달았다.

 

항상 마스터에만 커밋메시지를 대충대충 적으며, 히스토리는 신경쓰지 않았다.

 

이게 전부 나의 행보라는 것을 깨닫고, 히스토리 관리를 하기 시작했다.

 

0. git bash 의 사용

 

cmd 로 하기보단 git bash 를 이용하는 편이 편하다는 생각이 들었다.

더 자세하고 보기도 좋다.

 

1. 서브 브랜치의 생성

 

git branch -m progress

 

progress 라는 이름의 서브 브랜치를 생성했다.

 

앞으로는 이곳에서 작업을 하고, 커밋메시지를 작성하고 PR 을 우선 날릴것이다.

 

커밋은 자주자주 할 수록 좋다. 대신 커밋 메시지를 잘 작성하여, 내가 어떤 작업을 했는지

분명하게 적도록 한다.

 

"FIX" , "update" 처럼 적지 않고

 

fix connect db logic fix

update diary main UI update

 

등과 같이 자세히 작성하도록 한다.

 

 

2. 서브 브랜치의 commit

 

git add .

git commit -m "..."

git push origin progress

 

progress 의 커밋을 생성하고, push하여, PR 을 날린다.

 

3. github 에서 PR 날라기

 

 

4. master 로 병합했다면 pull 을 통해, master branch를 업데이트한다.

 

git checkout master

git pull <저장소주소>

 

 

5. commit history 확인

 

 

내가만든 모든 커밋과 히스토리들은 이곳에서 보일것이다.

 

앞으로는 잘 관리하면서 커밋을 하도록 하자.

 



추가사항 gitignore 의 사용법

 

 

fileName.js			// 특정 파일 제외

/fileName.js			// 현재 폴더의 특정 파일 제외

folder/				// 특정 폴더 안의 파일 전부 제외

folder/fileName.js		// 특정 폴더의 특정 파일 제외

folder/**/fileName_2.txt	// 특정 경로 아래의 모든 fileName_2 제외하기

.env				// 특정 확장자 파일 전부 제외

 

기본적으로

.../        는 해당 폴더 안의 내용을 지우는 것이고

name   만 적는다면 모든 name 을 가진 파일 및 폴더를 제외하게 된다.

 

예를들어 client 와 server 폴더로 나뉘어진 상황에서

둘 안에 모두 node_modules 가 있다면

 

단순히 node_modules/ 

라는 코드로 두개의 폴더의 해당 폴더를 전부 제외할 수있다. 

따로 경로지정을 해 두가지를 전부 제외할 필요가 없다는 말이다.