상세 컨텐츠

본문 제목

깃(Git) 알아보기

카테고리 없음

by simplecode 2021. 7. 10. 23:28

본문

Git 은 버전 관리 시스템 (Version-Control System)로, 변경사항과 여러 기능들이 필요한 개발 분야에서는 변경 이력들과 기록들 등을 쉽게 추적하고 파악할 수 있도록 해준다.

 

하단의 작업들은 Cli ( 맥의 경우 terminal)에서 진행하였다

 

깃 확인하기

우선 깃이 있는지 확인해준다. 버전이 없다고 뜨면 깃이 설치되어있지 않은 것이다.

$ git --version

 

실행된 디렉토리에 깃 시작

깃이 생성되었다면 .git 이라는 폴더가 생기며 해당 폴더로 버전 관리를 하게 된다.

git init

 

깃 삭제

.git 폴더 제거 또는 하단의 명령어 실행

$ rm -rf .git

 

깃 현재상태 

파일을 깃이 추적하도록 하거나 어떤 파일이 변경되었는지 등을 확인할 때 유용하다.

git status

 

깃이 어떤 파일들을 기록할지 지정

전부를 담으려면 . 을 입력. 깃이 생성되었다고 자동으로 모든 파일들을 관리하고 기록하지 않는다.

git add 파일경로

 

순간을 기록

커밋은 사진을 찍는 것처럼 그 순간을 기록한다. 원하는 경우 찍은 사진으로 돌아갈 수 있다. 

$ git commit -m "기록하고자 하는 메세지"

 

현재 어떤 원격 레포 주소들과 연결되어있는지 확인

$ git remote -v

원격 주소를 추가하는 방법

다음은 apple이라는 이름으로 url을 연결한 것이다.

$ git remote add apple https://github.com/codestates/apple.git

원격 주소 지우기

$ git remote remove apple

특정 주소에서 변경된 사항을 가지고 오는 명령어

'apple' 이라는 원격 주소 이름의 'main' 브랜치가 깃헙에서 업데이트가 되어서 변경된 내용을 가지고 오고 싶은 경우

$ git fetch apple main

작업하고 있는 브랜치와 합쳐 변경사항을 가지고 오고 싶은 경우

$ git merge 브랜치_이름

 

git fetch + git merge 두가지를 한꺼번에 수행하는 것이 바로 git pull이다.

 

 

 

 

브랜치(branch) 생성해서 내용 변경 후 병합(merge)하여 github에 올리기

** 브랜치는 두개 생성하였고 그중 하나에서만 내용을 변경했다**

** 모든 내용은 Cli ( 맥의 경우 terminal)에서 진행하였다 **

 

우선 (base)에 있는 상태라면 conda deactivate로 현재의 가상환경을 먼저 종료해준다.

전용 가상환경을 만들어준다. 

conda create --name '새 가상환경 이름'

conda env list로 현재 가상환경 목록을 확인해준다. 

새 가상환경으로 진입한다

conda activate '새 가상환경 이름'  

초기화를 해준다

git init

데스크탑에 들어가서 새 폴더 하나를 만들어준다

mkdir '새폴더'

새 폴더에 들어가서 (cd '새폴더') 아무것도 없는 것을 확인한 후(ls) github 에서 수정할 내용이 담긴 파일을 복사해온다

git clone https://github.com/아이디/파일이름.git

여기에서 꼭 < cd 파일이름 >을 통해해당 파일에 들어가서 < git branch >를 통해 main이 있는 것을 확인해준다

그 후 브랜치를 만들어준다

git checkout '생성하는 브랜치이름 지어주기'

만들어주면서 들어간 브랜치에서  내용을 변경한다. 하단의 경우 아나콘다를 통해 파일을 연 후 내용을 변경하고 저장했다

code 복사해온 깃에 들어있던 파일 이름
git add 복사해온 깃에 들어있던 파일 이름

어떤 내용이 추가되었는지 내용도 적어준다

git commit -m "git add 내용 적어주기"

다른 브랜치를 하나 더 추가하였다

git checkout '두번째 생성하는 브랜치 이름 지어주기'

그리고 메인으로 간다

git checkout main

메인으로 가서 지금까지 만든 브랜치 두개를 다 병합해준다

git merge 첫번째 브랜치
git merge 두번째 브랜치

하단은 해봤는데 이미 clone에서 같이 pull도 된듯? 이미 업데이트 되어있다고 뜬다

git pull origin git-branch

하단의 명령어를 통해 push해주면 main에 잘 병합된 브랜치들이 github에 순순히 병합된 것을 확인할 수 있다

 git push origin git-branch

끄읏 -