Git을 활용한 버전관리!-2

youngsung·2023년 2월 6일
0

git, github

목록 보기
1/2

Git 수정사항 버전 생성

git으로 버전관리 되고있는 프로젝트를 수정한 후 저장을 누르면 수정된 파일 이름 뒤에 M이라는 메시지를 붙여준다. 여기서 M은 Modified(수정됨)의 약어 이다.
수정한 내용을 새로운 버전으로 만들어보자.

git status

수정후 위의 코드를 작성해보면 빨간색 글씨로 (modified: 수정된 파일) 이렇게 나올것이다.

git add .

수정된 파일을 git에다가 등록해주고 다시 git status를 작성해보면 초록색 글씨로 뜰 것 이다.

git commit -m '메시지'

이런식으로 현재 상황을 새로운 버전으로 만들어 두는것이 좋다.

git log

새로운 버전이 등록된걸 확인하기 위해서 위의 코드를 작성해보면 내가 작성했던 메시지와함께 등록된것을 확인할수있을것이다.
또, HEAD -> master 이 문구를 확인해볼수있을텐데 여기서의 HEAD는 이 프로젝트의 최신버전임을 알수있는 단어이다.

터미널에서 빠져나가기위해서는 q키를 누르면 된다

만약 새로운 파일을 생성하게된다면 생성한 파일 이름 옆에 U라는 메시지를 붙여준다. 여기서 U는 Untracked file(새롭게 생성돼 추적하지 않은 파일)의 약어이다. 새로운 파일 등록도 마찬가지로 위에서 진행했던 방식대로 진행하면 새롭게 버전이 등록이 되는것을 확인할수있다.

이렇게 내가 로컬의 환경에서 만든 여러버전을 실제 GitHub에 원격 저장소에다가 push 즉 업로드를 해야한다.

git push origin master

여기에서의 origin이라는것은 원격저장소의 별칭을 origin이라고 설정을 하였고, 여기서 사용하는 origin이라는 이름은 통상적으로 우리가 헷갈리지 않기 위해서 다른것으로 변경하는것을 추천하지는 않는다.


이렇게 GitHub에 등록을 완료하게 되면 각각의 파일들과 그에 해당하는 메시지도 같이 등록된것을 확인할수있다.

Branch

git init 이라는 명렁어를 통해서 "내가 프로젝트를 버전관리하겠다" 라고 선언하면 master이라는 이름에 브랜치로 나의 프로젝트가 버전관리 되기 시작한다. master이라는 브랜치는 하나의 줄기에 해당된다. 우리의 프로젝트가 하나의 줄기로서 버전관리 되는데 여기서 git의 브랜치라는 개념은 master이라는 큰 줄기에서 여러가지 페이지를 가지로 분리해서 관리해주는것이다. 그리고 각각의 가지에서 문제가 없다고 판단이 되면 메인의 줄기에로 합쳐서 실제로 사이트에서 사용할 수 있도록 만들어주는 것 이다.
가지로 분리해야하는 이유를 설명하자면, 하나의 프로젝트를 관리해서 그것을 실제로 배포해서 사용자들이 사용을 할수있게할때 나 혼자서도 개발을 할수도있기는 하지만 내가 어떠한 팀에 소속이 되어있고 개발을 하는 여러 팀원들이 있다면 해당하는 기능을 여러 팀원들이 나눠서 할수있기때문이다. 이 기능들이 만들어지는 속도도 다르고, 적용되는 시점도 다르기 때문에 나는 git내에서 브랜치라는 내용을 도입해서 master라는 이름의 줄기를 제외하고 다른이름의 브랜치로 가지를 만들어서 별도의 개발을 하고 나중에 합칠수있는 구조를 우리의 프로젝트내에서 관리를 해주어야한다.
별도의 브랜치를 만들어서 거기서 열심히 기능개발을 한 다음, 문제가 없을시에 master브랜치에 병합을 시켜주어야한다. 이것을 marge(병합)이라고 한다.

git branch

현재 프로젝트 내의 관리되고있는 브랜치 목록이 나온다.

git branch -a

remotes는 원격을 의미한다.

git branch 브랜치이름

내가 작성한 브랜치 이름으로 브랜치를 만듦

git checkout 브랜치이름

해당 브랜치 이름으로 이동

새로운 브랜치에서의 개발은 다른 브랜치에 영향을 주지 않는다.

git push origin 브랜치이름

현재 관리하고있는 브랜치 이름으로 해야한다.

GitHub 저장소에 Pull requests 라는 목록에 들어가서 New pull request 라는 버튼을 클릭하면,
Compare chasnges 라는 페이지로 넘어오게 될것이다.
왼쪽에 있는 브랜치는 합쳐질 브랜치이고, 오른쪽에 있는 브랜치는 새로운 내용을 담고있는 브랜치이다.
compare:mater 이부분을 수정된 브랜치로 선택해주면 오른쪽에 초록색으로 Able to merge. 라고 뜰것이다.
Create pull request 라는 버튼을 통해서 병합을 진행한다.
병합이 완료되고나면 초록색으로 open 이라고 떳던게 보라색으로 marged라고 뜰것이다 그렇게되면 완료된것이다.

새로운 환경에서 저장소를 가져오는 방법

터미널에서 맥은 ls 윈도우는 dir을 작성해보면 현재있는 위치 하위 폴더들이 다 나올것이다.

cd ..

이것은 상위폴더

cd 폴더이름

폴더로 들어가는 명령어

이런식으로 명령어를 작성해서 내가 프로젝트를 넣을 폴더에 접근하면 된다.

git clone 복사한주소

git에 clone이라는 명령어 그대로 복사한주소에 저장소 자체를 복제해서 현재 경로에 새롭게 생성을 한다.

code . -r

현재창에 코드를 오픈하겠다라는 의미.

버전 되돌리기(Reset)

git reset --hard HEAD~1

현재 버전에서 1버전만큼 되돌린다.

git reset --hard ORIG_HEAD

되돌리기 했던 버전을 원상복구 시켜주는 명령어.

reset 이라는 명령어는 조심히 사용할것!

로컬에서 병합하기 (Merge)

git merge <브랜치 이름>

git merge 는 다른 브랜치를 현재 Checkout된 브랜치에 Merge 하는 명령이다. Merge 하고 나서 현재 브랜치가 Merge 된 결과를 가리키도록 옮긴다.

profile
To Infinity and Beyond

0개의 댓글