안경잡이개발자

728x90
반응형

  기본적으로 다른 사람의 컴퓨터에서 깃 허브(Git Hub)를 이용할 때는 몇 가지 유의할 점이 있습니다. 바로 계정 설정인데요. 특히나 윈도우(Windows)에서 깃을 이용하는 경우에는 깃 데스크탑(Git Desktop)을 이용하면, 계정 정보를 시스템에서 기본적으로 저장한다는 특징이 있습니다. 그래서 다른 사람의 컴퓨터에서 깃 허브로 푸시(Push)를 한 뒤에 계정 정보가 계속 남아있을 수 있어요. 이를 관리하는 방법에 대해서 소개하고자 합니다.


  기본적으로 깃 푸시(Git Push) 이전에는 사용자 계정에 대한 설정을 합니다.


※ 전체 프로젝트에 대해 깃 계정 설정하는 방법 ※


git config --global user.name "{사용자 계정 이름}"

git config --global user.email "{사용자 이메일}"


※ 현재 프로젝트에 대해서만 깃 계정 설정하는 방법 ※


git config --local user.name "{사용자 계정 이름}"

git config --local user.email "{사용자 이메일}"


  기본적으로 다른 사람의 컴퓨터를 이용할 때는 [현재 프로젝트에 대해서만 깃 계정 설정하는 방법]을 따라 진행하시길 권장합니다.


  또한 실제로 푸시(Push)를 진행할 때는 자신이 계정에 대한 권한이 있음에 대해서 인증해야 해요.


1) 인증서를 이용하는 경우


  인증서를 이용해서 인증하는 경우에는, 꼭 깃 허브 이용 이후에는 인증서 파일을 제거해주셔야 합니다.


2) 깃 데스크탑을 이용해 인증하는 경우


  깃 데스크탑을 이용해 인증할 때는 다음과 같은 로그인 창이 나오게 되며, 로그인 이후에 푸시를 진행할 수 있어요.




  인증 이후에는 윈도우에 계정 정보가 남아 있으므로 [제어판] - [사용자 계정] - [자격 증명 관리자] - [Windows 자격 증명] - [일반 자격 증명]에서 깃 정보가 등록되어 있는 것을 확인해야 합니다.



  이후에 [제거]를 눌러서 깃 계정 정보를 제거해주시면 됩니다.



3) 커맨드를 이용하는 경우



  커맨드(Command)를 이용하는 경우 기본적으로 푸시(Push)를 진행할 때마다 매 번 로그인을 진행해주셔야 합니다. 하지만 마찬가지로 윈도우 운영체제를 사용하는 상황에서 깃 데스크탑이 설치되어 있을 때는 자동으로 계정 정보가 저장되므로 [제어판]에서 자격 정보에 대해서 제거를 진행해주셔야 합니다. 혹은 깃 배시를 설치할 때 자격 증명 정보를 저장하도록 처리했다면, 깃 데스크탑을 이용하지 않아도 자격 정보가 저장될 수 있으므로 유의하셔야 합니다.


  다만 우분투 등 리눅스 운영체제를 사용하는 경우, 깃 데스크탑이 설치되어 있지 않고 커맨드만으로 푸시를 진행할 때 별도의 설정을 하지 않았다면 푸시를 할 때마다 로그인을 해주셔야 합니다. 따라서 계정 정보가 저장되지 않으므로 괜찮습니다.

728x90
반응형

728x90
반응형

  지난 시간까지 해서 리액트(React) 프로젝트를 생성하고 비주얼 스튜디오 코드(VSC)를 이용해서 개발 환경을 구축하는 시간을 가졌습니다. 이번 시간에는 깃(Git)을 이용해서 소스코드를 관리하는 방법에 대해서 알아보도록 하겠습니다. 우리는 향후 프로젝트의 효과적인 관리를 위해서 Git 저장소(Repository)를 생성한 뒤에 해당 저장소에 소스코드를 올리게 될 것입니다.


  일단 깃에 소스코드를 올리기 전에 전체 소스코드의 윤곽을 잡고 나서 올리는 것이 좋습니다.


  따라서 간단히 소스코드를 수정하며 프로젝트의 윤곽을 이해하는 시간을 가져보도록 하겠습니다.


※ App.js ※


  App.js는 실질적인 웹 사이트 화면에 대한 내용 출력을 담당하는 부분입니다.



import React, { Component } from 'react';
import logo from './logo.svg';
import './App.css';

class App extends Component {
render() {
return (
<div className="gray-background">
<img src={logo} alt="logo" />
<h2>Let's develop management system!</h2>
</div>
);
}
}

export default App;


※ App.css ※


  App.css 파일은 App.js와 연동되어 웹 사이트의 메인 부분에 해당하는 내용의 디자인(Design)을 담당합니다. 저는 간단히 기존의 내용을 지운 뒤에 .gray-background라는 이름의 클래스(Class)를 만들어 보았습니다. 클래스는 웹 문서 내 각 요소의 디자인을 구분하기 위한 문법입니다.



.gray-background {
background: darkgray;
}


※ index.html ※


  이후에 index.html을 수정합니다. 기존의 index.html 파일은 온갖 주석으로 가득 차 있었을 거예요. 그러한 주석을 모두 지워주시면 됩니다. 참고로 index.html 소스코드 내에는 <div id="root"></div>라는 부분이 있는데, 이 root 영역에 실제로 App.js의 내용이 출력됩니다.


<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico" />
<meta
name="viewport"
content="width=device-width, initial-scale=1, shrink-to-fit=no"
/>
<meta name="theme-color" content="#000000" />
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
<title>React App</title>
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
</body>
</html>


※ README.md ※


  이어서 README.md 파일을 수정합니다. 이것은 깃 허브(Git Hub)에 올라가 출력될 내용입니다. 프로젝트의 소개, 설치 방법, 레퍼런스 등의 문구가 들어가는 공간이라고 이해하시면 돼요.



## Management System

본 프로젝트는 React 강의 목적으로 만들어진 고객 관리 시스템(Management System)입니다.


  모든 소스코드를 저장해주신 뒤에 웹 사이트를 새로고침(F5) 해보시면 정상적으로 적용된 것을 확인할 수 있습니다.



※ 깃으로 프로젝트 관리하기 ※


  이제 깃 허브에 저장소를 생성하여 우리 프로젝트를 관리해 봅시다.


  ▶ 깃 허브(Git Hub) 주소: https://github.com/


  깃 허브에 회원가입 및 로그인을 해주신 뒤에 [Create Repository]를 진행해주시면 됩니다. 말 그대로 소스코드가 올라갈 수 있는 하나의 저장 공간을 만들어 준다고 이해하시면 됩니다.



  위와 같이 프로젝트의 이름만 지어 주신 뒤에 생성 버튼을 눌러주시면 다음과 같이 저장소가 생성됩니다.



  이후에 저장소의 주소를 복사해서 가지고 있어주세요. 이제 VSC로 돌아와서 깃(Git) 탭으로 가보시면 우리가 수정한 소스코드의 내용이 모두 왼쪽 화면에 드러나는 것을 확인할 수 있습니다.



  먼저 우리가 수정한 소스코드의 내역을 우리 컴퓨터의 로컬 저장소에 반영하기 위해서는 커밋(Commit)을 해주시면 됩니다. 따라서 커밋을 하고자 하는 소스코드를 먼저 추가해주세요.



  그리고 커밋을 진행하시면 됩니다. 저는 커밋 메시지로 'Create React Project'라고 지어주었어요.



  이후에 우리가 만든 깃 허브(Git Hub)의 저장소로 푸시(Push)하기 위해서 터미널을 열어줍시다.



  이제 아까 복사했던 저장소의 주소를 원격지 주소로 설정한 뒤에 푸시(Push)를 진행해주시면, 소스코드가 깃 허브에 업로드 됩니다.


  ▶ 깃 허브 원격지 설정: git remote add origin https://github.com/ndb796/React-Management-System.git

  ▶ 깃 허브 원격지로 푸시: git push --set-upstream origin master



  푸시 이후에 깃 허브 저장소를 새로고침 해보시면 다음과 같이 소스코드가 모두 업로드 되어 있는 것을 확인할 수 있습니다.


728x90
반응형

728x90
반응형

  슬랙(Slack)은 굉장히 많은 회사와 동아리 등의 집단에서 사용하고 있는 협업 메신저 도구입니다. 쉽게 말하면 회사용 카카오톡(Kakao Talk) 정도라고 보시면 됩니다. 실제로 카톡은 정말 편하고 익숙한 앱이지만, 회사 용도로 사용하기에는 기능이 매우 한정적입니다. 하지만 슬랙은 정말 프로젝트 단위의 협업을 목적으로 한다면 가장 강력한 메신저 도구가 될 수 있습니다.


  또한 슬랙은 그다지 복잡한 협업 도구가 아니라는 점에서 단순히 사용하고자 한다면 강좌까지 보지 않아도 잘 사용할 수 있습니다. 하지만 슬랙을 보다 완벽히 다루고자 한다면 슬랙에 대한 구체적인 내용을 알수록 유리합니다.


  ▶ 슬랙(Slack) 공식 사이트: https://slack.com/


  슬랙은 위 사이트에 접속하여 이용할 수 있습니다. 슬랙에서 하나의 프로젝트(Project)를 워크스페이스(Workspace)라고 말합니다. 워크스페이스를 생성하고자 한다면 다음의 경로에 접속하면 됩니다.


  ▶ 슬랙(Slack) 워크스페이스 생성 경로: https://slack.com/create



  워크스페이스를 생성할 때는 관리자 이메일 주소를 입력합니다.



  이후에 자신의 이메일 주소로 가면 인증 코드가 보입니다. 이를 슬랙에 기입하면 됩니다.



  저는 팀 이름을 'Slack Tutorial'이라고 지어보았습니다.



  또한 저는 Education이라고 프로젝트의 이름을 지어주었습니다.



  또한 처음에 프로젝트를 생성하면 프로젝트 구성원을 추가하라는 페이지가 나오는데, 저는 스킵(Skip)을 해주겠습니다.



  이후에 기본적으로 채널 정보를 확인할 수 있습니다.



  그러면 위와 같이 기본 채널이 존재하는 걸 확인할 수 있습니다.



  이제 한 번 가상의 사용자를 초대해보도록 하겠습니다. 설정(Setting) 탭에서 초대(Invite)를 진행하시면 됩니다.




  저는 한 번 제 다른 이메일 주소로 초대 메일을 보내보겠습니다. 이제 한 번 메일을 받은 이메일 계정으로 로그인해보도록 하겠습니다.




  저는 위와 같이 새로운 계정으로 가입을 해보았습니다.



  가입 이후에는 위와 같은 화면을 확인할 수 있습니다. 왼쪽과 오른쪽을 서로 다른 브라우저로 로그인 해보았습니다.



  결과적으로 위와 같이 왼쪽과 오른쪽 사용자가 모두 education 채널에서 소통할 수 있었습니다.

728x90
반응형

728x90
반응형

  깃(Git) 프로젝트에서는 README.md 파일을 이용해 소개글을 작성할 수 있습니다. md는 마크 다운(Markdown)의 약자이며 최근 굉장히 다양한 분야에서 사용되고 있는 텍스트 양식입니다. 매우 빠르게 핵심적인 내용을 작성하는 편집 양식이라는 점에서 깃 허브(Git Hub) 또한 공식적으로 이를 채택하고 있습니다. 


  이번 시간에는 우리의 깃 저장소에서 README.md 파일을 생성하여 프로젝트 소개글을 작성하는 방법에 대해서 소개하고자 합니다.



  위와 같이 README.md 파일을 작성하여 간단히 샵(#)을 붙여 글머리를 작성해 봅시다. #은 글머리를 작성할 때 사용합니다. 



  이제 이러한 내용을 푸시(Push)해서 확인해보도록 합시다.



  성공적으로 소개글 정보가 깃 허브(Git Hub)에 들어간 것을 확인할 수 있습니다.


  마크 다운은 정말 편집(Edit)을 쉽게 할 수 있는 도구입니다. 다음과 같은 예제들도 확인해 봅시다.


# 글머리


소스코드 블록은 다음과 같이 작성할 수 있습니다.


```c

#include <stdio.h>


int main(void) {

  printf("Hello World!");

}

```


링크는 다음과 같이 작성할 수 있습니다.


[블로그 주소](https://blog.naver.com/ndb796)


순서 없는 목록은 다음과 같이 작성할 수 있습니다.


* 깃 강좌

  * 깃 Clone

  * 깃 Pull

  * 깃 Commit

    * 깃 Commit ①

    * 깃 Commit ②

  * 깃 Push


인용 구문은 다음과 같이 작성할 수 있습니다.


> '공부합시다.' -나동빈-


테이블은 다음과 같이 작성할 수 있습니다.


이름|영어|정보|수학

---|---|---|---|

나동빈|98점|87점|100점|

홍길동|97점|78점|93점|

이순신|89점|93점|97점|


강조는 다음과 같이 할 수 있습니다.


**치킨** 먹다가 ~~두드러기~~났어요. ㅠㅠ



  푸시(Push) 이후에는 다음과 같은 결과를 확인할 수 있습니다.



728x90
반응형

728x90
반응형

  깃(Git)에서 로그(Log)를 제대로 다룰 수 있으면 깃과 관련한 처리 내역을 쉽게 확인할 수 있습니다. 다시 말해 히스토리(History)를 효과적으로 확인할 수 있습니다. 가장 기본적인 로그 출력 명령어인 git log를 이용해보도록 하겠습니다.



  깃(Git) 로그를 구체적으로 확인하고자 한다면 다양한 옵션을 이용할 수 있습니다.


  ▶ stat: 각 커밋에 따른 통계 정보를 출력합니다.

  ▶ graph: 브랜치(Branch)와 병합(Merge) 정보를 그래프 형태로 출력합니다.

  ▶ p: 커밋에 적용된 구체적인 사항을 출력합니다. 

  ▶ pretty: 지정된 형식으로 커밋 정보를 출력합니다.



  먼저 stat 옵션을 사용한 결과는 위와 같습니다. 각 커밋마다 통계 정보를 출력합니다.



  또한 위와 같이 p 옵션으로 커밋에 적용된 구체적인 사항을 출력할 수 있습니다. -3이라는 옵션을 추가해 최근 3개의 정보만 확인할 수 있습니다.



  이후에 pretty 옵션으로 커밋 정보를 특정한 형식으로 출력할 수 있습니다. 대표적인 형태들은 다음과 같습니다.


  ▶ h: 커밋(Commit) 해시 값을 출력합니다.

  ▶ an: 작성자 이름을 출력합니다.

  ▶ ar: 작성 날짜를 출력합니다.

  ▶ ae: 작성자 이메일을 출력합니다.

  ▶ s: 커밋 주제를 출력합니다.

  ▶ cn: 커미터 이름을 출력합니다.



  위와 같이 graph 옵션과 함께 사용할 수 있습니다. 그래프 결과를 확인해 보면 언제 브랜치가 생성되었고, 언제 병합이 이루어졌는지를 콘솔 창에서 확인할 수 있습니다.



(+ 추가)


  특정 파일에 대한 로그만을 확인하고 싶다면 git log {파일 이름}의 형태로 명령어를 입력할 수 있습니다.



728x90
반응형

728x90
반응형

  깃(Git)으로 협업을 하기 위해서는 원격 저장소를 관리하는 방법을 알고 있어야 합니다. 말 그대로 네트워크 공간 어딘가에 존재하는 또 다른 컴퓨터를 원격 저장소라고 말합니다. 우리는 원격 저장소를 여러 개 가질 수도 있고, 각 원격 저장소를 서로 다른 목적으로 활용할 수 있습니다. 원격 저장소로부터 데이터를 받아올 때는 풀(Pull), 데이터를 보낼 때는 푸시(Push) 명령어를 사용합니다.


  우리는 깃 허브(Git Hub)를 원격 저장소로 하여 프로젝트를 구축했으므로, 기본적인 원격 저장소는 깃 허브(Git Hub)가 됩니다.



  기본적으로 git remote 명령어로 원격 저장소를 확인할 수 있습니다.



  더불어 원격 저장소를 추가하고자 할 때는 git remote add 명령어를 사용할 수 있습니다.



  또한 원격 저장소를 지칭하는 이름을 바꾸고자 할 때는 git remote rename 명령어를 사용할 수 있습니다.



  다양한 깃 명령어를 특정한 원격지 저장소에 대하여 수행할 수 있습니다. git log, git merge 등 다양한 명령어를 쓸 수 있습니다.



  마지막으로 원격 저장소를 제거할 때는 git remote rm 명령어를 사용합니다.



728x90
반응형

728x90
반응형

  이번 시간에는 깃(Git)에서 브랜치(Branch)를 다룰 때 발생할 수 있는 충돌을 처리하는 방법에 대해서 알아보도록 하겠습니다. 충돌(Conflict)이 발생하면 바로 병합(Merge)을 수행할 수는 없고, 충돌을 해결한 뒤에 병합을 수행해야 합니다. 이러한 내용에 대해 자세히 알아볼게요. 한 번 충돌이 발생하는 일을 가정해봅시다. 충돌은 쉽게 말하면 하나의 파일을 여러 명이 수정한 경우를 의미해요.



  위와 같이 하나의 브랜치를 만들어서 작업을 수행해 봅시다.



  특정한 파일에 하나의 함수 div()를 추가했습니다.



  위와 같이 커밋(Commit)까지 진행해줍니다.



  이제 마스터 브랜치로 이동해서 똑같은 파일을 다른 내용으로 수정해보도록 하겠습니다.




  이어서 로그(Log)까지 확인해보면 현재 마스터 브랜치를 가리키고 있으므로 마스터 브랜치에 대한 정보만 출력됩니다.



  반대로 develop 브랜치를 기준으로 확인하면, 마스터 브랜치에 대한 정보는 보이지 않게 됩니다.



  이제 한 번 마스터 브랜치에서 develop 브랜치를 병합(Merge) 해보도록 하겠습니다.



  그러면 충돌(Conflict)이 발생했다는 메시지가 출력됩니다.



  충돌이 발생한 소스코드를 열어서 확인해 보시면 서로 다른 두 개의 브랜치에 대한 정보가 출력됩니다. 저는 기존의 마스터 브랜치 소스코드를 따르도록 하겠습니다.



  다시 파일을 저장해주신 이후에 커밋(Commit)까지 진행해 주시면 성공적으로 병합을 수행할 수 있습니다.



  이제 다음과 같이 로그를 찍어 보면, 마스터 브랜치가 develop 브랜치를 병합한 형태가 됩니다.



  이제 병합이 완료된 develop 브랜치는 제거해주고 푸시(Push)를 진행해 주시면 됩니다.




728x90
반응형

728x90
반응형

  이번 시간에는 깃(Git)에서 브랜치(Branch)를 사용하는 방법에 대해서 알아보도록 하겠습니다. 깃(Git)은 동시에 여러 개발자들이 프로젝트에서 각기 다른 기능을 개발할 수 있도록 브랜치(Branch) 기능을 제공합니다. 서로 다른 브랜치는 작업을 함에 있어서 서로에게 영향을 받지 않는다는 점에서 마음 놓고 서로 다른 개발 작업을 수행할 수 있습니다.


Branch 동작 과정.xml


  브랜치의 동작 과정은 다음과 같은 예시로 표현할 수 있습니다. 기본적으로 Git 저장소를 만들면 자동으로 마스터(Master) 브랜치가 생성됩니다. 이 브랜치는 일반적으로 배포가 가능한 수준의 안정화된 버전을 포함하고 있습니다.


  그래서 별도의 브랜치를 만들어 사용하고자 한다면 체크아웃(Checkout) 명령어를 이용해야 합니다.



  한 번 예시를 들어보도록 하겠습니다.


  현재 우리는 배포 버전이 Master Branch에 있는 상황에서, 새로운 기능을 개발하고 있습니다. 새로운 기능은 Develop Branch에서 개발하고 있으며 이와 동시에 버그가 발견되어 빠르게 버그를 수정해야 하는 일이 발생했다고 해봅시다. 이 때 버그 수정은 Bug Fix Branch에서 진행하는 겁니다. 그리고 버그가 수정되는 대로 바로 Master Branch에 수정 내역을 합치고, 기능 또한 합쳐주어 결과적으로 새로운 배포 버전이 탄생하도록 개발을 진행하는 겁니다.


  그러면 합치기(Merge)가 수행되기 전까지는 안정적으로 배포가 이루어지고 있다가, 모든 기능이 합쳐진 이후에 다시 배포할 수 있으므로 개발의 안정성이 매우 뛰어나게 되는 겁니다.


  ▶ 통합 브랜치: 배포가 가능한 수준의 브랜치로 일반적으로 마스터(Master) 브랜치를 의미합니다.

  ▶ 토픽 브랜치: 특정한 기능을 위해 만들어진 브랜치로 일반적으로 마스터(Master) 브랜치 이외의 다른 브랜치를 의미합니다.


※ 브랜치 사용해보기 ※


  브랜치를 만들 때는 git branch 명령어를 이용합니다. 저는 develop이라는 이름의 브랜치를 만들어 보도록 하겠습니다. 이후에 특정한 브랜치로 전환하고자 할 때는 git checkout 명령어를 이용합니다. 체크아웃(Checkout) 이후에는 HEAD가 해당 브랜치로 이동하게 됩니다.



  위와 같이 체크아웃 이후에는 HEAD가 develop 브랜치로 가 있는 것을 확인할 수 있습니다.



  이 상태에서 소스코드에 새로운 함수 mul()을 작성해보도록 하겠습니다.



  이후에 위와 같이 커밋(Commit)을 진행해 주시면 현재 HEAD가 가리키고 있는 브랜치인 develop 브랜치에서 커밋이 진행됩니다.



  git log 명령어로 로그를 확인해 보시면 master 브랜치의 윗 부분에 develop 브랜치가 존재하는 걸 확인할 수 있습니다.



  이제 마스터 브랜치로 이동해서 develop 브랜치를 병합(Merge)할 수 있습니다.



  병합 결과 위와 같이 마스터 브랜치와 develop 브랜치가 동일한 커밋 내역을 가지게 된 걸 확인할 수 있습니다.



  결과적으로 푸시(Push)까지 진행해 주시면 원격지 저장소인 Git Hub에도 반영되는 것을 확인할 수 있습니다.



  병합이 끝난 브랜치는 git branch 명령어에서 d 옵션을 넣어 제거할 수 있답니다.


728x90
반응형

728x90
반응형

  기본적으로 깃(Git) 프로젝트에 담겨 있는 데이터들은 파일 시스템 상에서의 스냅샷(Snapshot)이라고 볼 수 있습니다. 실제로 프로젝트를 커밋(Commit)하여 적용할 때의 순간을 중요시한다는 특징이 있습니다. 파일 자체를 저장하기보다 수정 내역 자체를 저장합니다.


  Git의 동작 원리를 바르게 이해하기 위해서는 Git 프로젝트의 세 가지 구성요소에 대해서 이해할 필요가 있습니다.


  - Working Directory: 작업할 파일이 있는 디렉토리입니다.

  - Staging Area: 커밋(Commit)을 수행할 파일들이 올라가는 영역입니다.

  - Git Directory: Git 프로젝트의 메타 데이터와 데이터 정보가 저장되는 디렉토리입니다.


  깃 프로젝트는 위와 같은 구성요소를 통해 동작하게 됩니다. 그렇다면 실제로 소스코드를 수정하는 등의 작업을 해서 커밋(Commit)하고, 다시 저장소에 있는 수정 내역을 자신의 컴퓨터로 옮기는 과정들은 어떻게 이루어지게 되는 걸까요?


  아래 첨부 파일은 제가 간단히 그려 본 Git의 기본적인 동작 과정입니다.


Git 동작 과정.xml



  이전 시간에 실습을 통해서 간단히 다루어 본 내용입니다. 원격지에 있는 저장소(Remote Repository)에서 맨 처음에 클론(Clone)을 받으면, 자신의 컴퓨터에 해당 프로젝트가 통째로 다운로드가 된다고 말씀 드렸습니다.


  이후에 자신이 수정한 내역을 다시 원격지 저장소까지 반영하려면 git add, git commit, git push의 과정을 거쳐야 합니다. 이후에 다시 저장소로부터 수정된 내역을 받을 때에는 git fetch를 수행합니다. 다만, 이러한 과정에서 내가 수정한 내역이 원격지 저장소에 있는 내역과 다를 수 있기 때문에 git merge를 수행하여 자신의 컴퓨터에 있는 소스코드를 원격지 저장소와 맞추는 것입니다.


  더불어 git fetch와 git merge를 한 번에 사용하는 명령어인 git pull를 사용할 수도 있습니다.


※ 저장소(Repository)에 대해서 ※


  저장소(Repo)실제 소스코드가 담겨 있으면서 커밋(Commit) 내역 등의 모든 작업 이력이 담겨 있는 공간을 의미합니다. 실제로 프로젝트의 메타 데이터를 포함해 각종 데이터는 .git 폴더에 담기게 됩니다. 실제로 이 폴더를 열어 보면 각종 데이터와 해시 값 등이 담겨 있습니다.


  어떠한 파일을 Commit 하게 되면 각 작업들을 분류하기 위해 내부적으로 해당 작업에 대한 해시(Hash) 값을 이용하는 것입니다. 일반적으로 해시 값은 충돌이 발생하지 않기 때문에 정확히 커밋 내역들을 관리할 수 있습니다.

728x90
반응형

728x90
반응형

  이번 시간에는 Git을 설치한 뒤에 기본적인 사용법에 대해서 알아보도록 하겠습니다. 정말 필요한 내용만 빠르게 다루어 보도록 하겠습니다. 일단 Git을 사용하기 위해서는 Git 저장소를 하나 만들어야 하는데요. 일반적으로 Git Hub에서 무료 저장소를 만들어서, 여기에다가 각종 소스코드를 올리곤 합니다. 소스 코드를 오픈 소스로 누구에게나 공개(Public) 설정을 한다면 Git Hub를 무료로 사용할 수 있습니다.


  ▶ 깃 허브(Git Hub): https://github.com/


  위 깃 허브 웹 사이트에 가입한 이후에 로그인을 해줍니다.


※ 깃 저장소 만들기 ※


  저장소는 말 그대로 소스코드가 저장되는 공간을 의미합니다. 쉽게 말해 하나의 '프로젝트(Project)'를 의미합니다.



  New Repository 버튼을 눌러서 새로운 저장소를 만들 수 있어요.



  일단 깃의 사용법을 연습하는 목적이므로 간단히 아무 이름이나 넣어서 저장소를 만들어 보도록 하겠습니다.



  결과적으로 Git Hub에 하나의 오픈 소스 프로젝트가 생성이 되었습니다. 그리고 이 저장소에 접근할 수 있는 공인 URL 주소가 생성됩니다. 이제 언제 어디에서나 이 프로젝트를 다운로드 받을 수 있게 된 거예요. 물론 지금 프로젝트는 텅텅 비어있지만요.


  그렇다면 이렇게 만들어진 저장소에 접근하여 프로젝트를 업로드하거나, 다운로드 하는 방법은 무엇일까요? 바로 Git 소프트웨어를 설치하는 겁니다. 말 그대로 Git이라는 것을 사용하도록 해주는 프로그램입니다.


  ▶ 깃 다운로드: https://git-scm.com/downloads


  깃을 다운로드 받아서 적절히 설치해줍니다.


  


  설치 이후에는 명령 프롬프트(CMD)에서 git이라고 입력을 해보면, 설치가 완료되어 각종 세부적인 명령어를 사용 여부를 확인할 수 있습니다.


  


  설치된 깃의 버전을 확인할 때는 git --version이라고 입력하시면 됩니다.


  


  이제 자신의 깃 허브 가입 내용과 동일하도록 이름 및 이메일을 입력하여 환경 설정을 진행합니다.


  ▶ git config --global user.name 유저명

  ▶ git config --global user.email 이메일



  이후에 테스트를 위해 간단히 특정한 경로에 폴더를 생성해주도록 합니다.



  명령 프롬프트에서 해당 경로로 이동하여 자신이 만든 원격지 저장소에서 다운로드할 수 있도록 합니다. 깃에서는 다운로드의 개념과 동일한 단어로 클론(Clone)이라는 단어를 사용합니다. 엄밀히 말하면 클론 이후에는 자신의 컴퓨터도 고유한 저장소가 되는 겁니다.


  ▶ git clone {클론 하고자 할 깃 URL}



  그러면 다음과 같이 저장소로부터 클론이 완료됩니다.



  실제로 클론된 폴더에 들어가 보면 다양한 환경 설정 정보가 담겨 있는 .git 폴더를 확인할 수 있습니다.



  기본적으로 윈도우에서는 이러한 환경 설정 폴더를 '숨김' 처리 해놓으므로, 만약 보이지 않으시는 분들은 '보기' 에서 '옵션'에 들어가 숨김 해제를 해주셔야 합니다.



  다음과 같이 확장명 숨기기를 체크 해제 해주시면 됩니다.



  이제 한 번 우리의 깃 프로젝트에 하나의 문서를 추가해봅시다. 소스 코드 등을 추가했다고 가정하는 거예요.



  이제 수정된 내역을 git add 명령어로 추가하고, 저장소에 반영하기 위해서 git commit 명령어를 사용합니다. 이후에 원격지 저장소인 Git Hub 저장소에 반영하기 위해서 git push 명령어를 사용하면 됩니다.


  ▶ git add {파일 이름}: 수정된 파일을 수정 내역에 추가합니다.

  ▶ git commit -m {커밋 메시지}: 수정된 내역을 저장소에 반영합니다. 반영이 되면 스냅샷(Snapshot)이 찍히게 되어 저장됩니다.

  ▶ git push: 원격지 저장소에도 수정 내역을 반영합니다.



  이제 다시 깃 허브로 이동해보시면 다음과 같이 파일이 추가된 것을 확인할 수 있습니다.




728x90
반응형