본문 바로가기
jira, confluence, 도커[패캠챌린지]

패스트캠퍼스 챌린지 19일차: 빗버킷 활용[수정]

by !ㅁㅇㅇㅁ! 2021. 9. 24.

 

-드디어 퇴근했다... 주말동안 내용정리 ㄱㄱ

잠시 후,

.....실제로는 git형상관리에 가까운 내용이었다.

(실습은 다음차시에 나오는 빗버킷 소개(3) 실습에 나옴.)

pull add commit push부터 pull request까지 동-일하므로 실제 내용인

git 형상관리 메소드 4개 그대로 요약하고 마무리 지음.

 

---------------------------------

 

1. push, add

원격 저장소에 로컬 저장소의 이력을 push합시다.

원격 저장소의 주소는 이름으로 기록해 둘 수 있습니다. 기록 해두면 push 할 때마다 긴 원격 저장소의 주소를 입력 할 필요가 없습니다. 우선 「origin」이라는 이름으로 원격 저장소를 등록하고 push합니다.

원격 저장소를 추가하려면, remote 명령어를 사용합니다. <name>은 등록명, <url>은 원격 저장소의 URL을 지정합니다.

$ git remote add <name> <url>

다음 명령어를 실행해, 이전 페이지에서 만든 원격 저장소의 URL을 origin이라는 이름으로 등록합니다.

 

 

$ git remote add origin https://[your_space_id].backlogtool.com/git/[your_project_key]/tutorial.git

 

Tips

콘솔일 경우 push 나 pull 은 실행 시에 원격 저장소명을 생략하면, origin이라는 이름의 원격 저장소를 사용합니다. 그 때문에 원격 저장소에는 origin이라는 이름을 붙이는 것이 일반적입니다.

 

저장소를 push 하려면, push 명령어를 사용합니다. <repository>는 push 경로의 주소, <refspec>은 push 할 브랜치를 지정합니다. 브랜치에 대한 내용은 발전편에 자세하게 설명이 나와 있습니다.

 

$ git push <repository> <refspec>...

다음 명령어를 실행해 원격 저장소 origin에 커밋을 push합니다. 실행 옵션에서 한번 -u를 지정하면, 이후에는 그 브랜치명 지정을 생략할 수 있습니다. 단, 비어있는 원격 저장소에 최초로 push했을 때는 원격 저장소명과 브랜치명을 생략할 수 없습니다.

 

도중에 사용자명과 비밀번호가 요구되면 Backlog의 사용자명과 비밀번호를 입력하십시오.

(...코드추가 어케하더라... 이 블로그 포스트 다시 수정이 필요)

$ git push -u origin master Username: <사용자명> Password: <비밀번호> Counting objects: 3, done. Writing objects: 100% (3/3), 245 bytes, done. Total 3 (delta 0), reused 0 (delta 0) To https://monkey.backlogtool.com/git/BLG/tutorial.git * [new branch] master -> master

Backlog의 Git 페이지를 열어보세요. 최근 업데이트에 push 항목이 추가되어 있습니다.

저장소의 파일 목록에는, push한 저장소의 파일이 추가되었습니다.

 

2. commit

 

tutorial 폴더에 새로운 파일을 추가하고, 원격 저장소에 파일을 등록해보세요.

우선 tutorial 폴더 안에 「sample.txt」라는 이름으로 텍스트 파일을 만드세요. 파일 내용에는 적당히 아래 텍스트를 입력하시면 됩니다.

 

콘솔

Git의 관리 하에 있는 폴더의 작업트리와 인덱스 상태를 확인하려면, status 명령어를 사용합니다.

$ git status

status 명령어를 실행해 tutorial 폴더 상태를 확인합니다.

 

$ git status # On branch master # # Initial commit # # Untracked files: # (use "git add <file>..." to include in what will be committed) # # sample.txt nothing added to commit but untracked files present (use "git add" to track)

이력 추적 대상이 되지 않은 파일(untracked files)로, sample.txt가 보이네요.

처음 한번만 인덱스에 등록하면 추적 대상으로 등록할 수 있습니다.

파일을 인덱스에 등록하는 명령어는 add 입니다. 뒤에 <file>을 붙여 인덱스에 등록할 파일을 지정합니다.

한칸 띄어쓰기해서 여러개 파일을 한번에 지정할수도 있습니다.

 

$ git add <file>..

Tips

파라미터에 「.」를 지정하면, 모든 파일을 인덱스에 등록할 수 있습니다.

$ git add .

그럼 sample.txt를 인덱스에 추가하여 확인해보겠습니다.

$ git add sample.txt $ git status # On branch master # # Initial commit # # Changes to be committed: # (use "git rm --cached <file>..." to unstage) # # new file: sample.txt #

인덱스에 sample.txt가 추가되었으니 커밋 준비는 끝입니다. 이제 commit 명령어를 실행해 커밋을 진행합니다.

commit 명령어 포맷은 다음과 같습니다.

 

$ git commit -m "<댓글>"

commit 명령어를 실행한 후 상태를 확인합니다.

$ git commit -m "first commit" [master (root-commit) 116a286] first commit 0 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 sample.txt $ git status # On branch master nothing to commit (working directory clean)

이제 모든 변경사항이 커밋되었습니다.

저장소의 변경 이력을 확인해봅시다. 저장소 변경 이력을 보려면, log 명령어를 사용하세요.

 

$ git log commit ac56e474afbbe1eab9ebce5b3ab48ac4c73ad60e Author: eguchi <eguchi@nulab.co.jp> Date: Thu Jul 12 18:00:21 2012 +0900 first commit

Note

git를 설치할 때 gitk라는 툴도 동시에 설치됩니다. 이걸 사용하면 변경 이력을 GUI에서 확인할 수 있습니다.

$ gitk

 

 

3. pull의 경우는?

 

먼저 아래 그림과 같이 로컬 저장소의 모든 변경 사항이 반영되어 있는 상태에서 새로운 변경 사항이 있는 원격 저장소의 커밋 Y 를 로컬로 가져오는 경우를 살펴 보도록 하겠습니다.

이런 경우, 단순히 'fast-forward 병합'이 이루어집니다. 그림 속의 'master'는 로컬 저장소의 'master' 브랜치, 'origin/master'는 원격 저장소 'origin'의 'master' 브랜치를 나타냅니다.

그러나 로컬 저장소의 'master' 브랜치에서도 변경 사항이 생긴 경우, 양 쪽의 변경을 통합할 필요가 있습니다.

이 때 pull 을 실행하여 소스를 병합할 수 있습니다. 충돌하는 변경이 없을 경우 자동적으로 병합 커밋이 만들어 지지만, 충돌이 있을 경우에는 충돌난 부분을 수동으로 해결한 다음 직접 commit 을 해 주어야 합니다.

 

 

 

 

 

 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

https://bit.ly/37BpXiC

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr