시작하기 앞서

드디어 첫 gradle 프로젝트 생성 실습입니다. 차근차근 진행 해봅시다.


- Hello World 안드로이드 스튜디오 프로젝트 생성

안드로이드 스튜디오를 실행합니다. 그리고 File -> new -> New Project를 누릅니다. 음 API24 정도로 선택합니다. Activity 는 Blank Activity로 선택하겠습니다. 저흰 액티비티가 중요한게 아니니깐요.

 그리고 프로젝트 표시는 Android View로 하도록 하겠습니다. 왜냐하면 안드로이드 앱의 Gradle 스크립트를 잘표현해주기 때문입니다.



- Gradle 구성요소 소개

 

(1) app모듈

 안드로이드 스튜디오는 멀티프로젝트를 생성하게 됩니다. Gradle 프로젝트 하위에는 적어도 1개 이상의 모듈을 포합합니다. 최초 생성되는 모듈 이름은 app입니다. 새로운 모듈을 추가할때는 File -> New -> New Module 을 선택하면됩니다.


(2) manifest 폴더

AndroidManifest.xml 파일을 표시합니다. 앱이름과 권한 과 같은 프로젝트 메타정보를 담고 있습니다. 모듈별로 AndroidManifest.xml 파일을 포함하게 됩니다.


(3) java 폴더

소스코드와 테스트 코드가 있습니다.


(4) Gradle Scripts

안드로이드 스튜디오에서의 gradle sciprt을 포함하고있습니다.



- 프로젝트 build.gradle (여기선 Project: HelloWorld)

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.3'

// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}

allprojects {
repositories {
jcenter()
}
}

task clean(type: Delete) {
delete rootProject.buildDir

} 

 직접 까서 보겠습니다.

프로젝트 build gradle은 다수의 모듈이 존재할떄 전체 모듈에 공통적으로 적용하는 부분을 기술하는 부분입니다.


크게 두부분으로 구성되어있습니다. 

buildscirpt은 빌드 스크립트를 구동하는 부분입니다. 외부저장소와 의존성 부분을 지정합니다. 외부저장소로 jcenter, mavenCentral 이 있습니다.

요즘은 jcenter를 많이 사용한다고 합니다. 또한 dependencies(의존성부분) 에는 안드로이드 gradle의 플로그인 버전을 기술합니다.


그외에는 전체 프로젝트 공통으로 사용할수 있는 task 를 정의합니다. 기본적으로 clean 태스크가 추가되며, 단순히 build 폴저를 제거하는 역할을 하고있습니다. app과 같은 하위 Module의 build 폴더도 모두 제거한답니다. 모듈이 다수이면 다수모듈의 build 폴더가 제거되겠지요?



- 모듈 build.gradle (여기선 Module:app)

apply plugin: 'com.android.application'

android {
compileSdkVersion 26
buildToolsVersion "26.0.0"
defaultConfig {
applicationId "com.example.pjh.helloworld"
minSdkVersion 24
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:26.+'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
testCompile 'junit:junit:4.12'

} 

 크게 네 부분으로 구분됩니다. 


첫번째는 모듈의 plugin 부분입니다.

안드로이드 App module 은 com.android.application을 지정합니다.

안드로이드 library module은 com.android.library를 지정합니다.

동시에 플러그인을 2개 지정할수는 당연히 없습니다.


두번째는 android로 AndroidManifest.xml을 재설정 한다고 생각하시면 됩니다.

gradle에서 설정한게 manifest보다 우선시 됩니다. 


세번째는 buildTypes에는 빌드 타입에 따라 다른 동작을 지정할 수 있습니다.

빌드타입에 따라 다른 동작을 지정할 수 있습니다. debug와 release가 있습니다. debug는 개발단계에서 사용되며, release는 마켓이나 외부에 배포할때 사용합니다. 


네번째는 의존성부분(dependencies) 입니다.

libs폴더에있는 모든 jar파일 의존성에 추가합니다.

또한 compile은 module을 빌드 할 때 포함하는 외부라이브러리입니다. 로컬에 존재하지 않는 경우, 앞서 지정한 저장소였던 jcenter(프로젝트 gradle에서) appcompat 지원 라이브러리를 다운로드합니다.




Gradle은 저장소위치와 라이브러리 버전등을 지정하면 빌드 시 자동으로 해당 버전또는 최신버전을 포함하므로 개발자는 신경 쓰지 않아도 되는 엄청난 강점을 가지고 있습니다. 계속해서 Gradle 포스팅을 하도록 하겠습니다.


'개발 Support > Gradle' 카테고리의 다른 글

안드로이드 Gradle Test  (0) 2017.07.12
안드로이드 Gradle 멀티 프로젝트 사용  (0) 2017.07.10
Android Gradle 외부 라이브러리 추가  (0) 2017.07.10
Gradle Task와 생명주기  (0) 2017.07.10
Gradle 개요  (0) 2017.07.08

포스팅에 앞서.

드디어 Git을 로컬뿐만 아니라 원격에서 사용해야할 차례입니다. 원래 Local에서만 git을 이용한다면 의미가 반감되는 정도입니다. 그러니 원격 저장소를 사용할 수 있도록 해야합니다.  github에 계정을 만들고 사용하는 방법을 포스팅 하도록 하겠습니다.



OverView.

Github 이용 이점은 다음과 같습니다.

 - 전세계에서 진행되는 오픈 소스프로젝트가 많이 모여있어 이에 참여하고 기여할 수 있는 기회가 있습니다.

 - 개발자는 Github를 이용해 자신이 작성했던 코드 그자체를 즉시적으로 제공할 수 있습니다.

 - IT개발자 뿐만 아니라 디자이너, 기획자등 모두 협업할 수 있습니다.




GitHub 가입하기.

https://github.com

sign up for github 선택하여 회원가입합니다. 음 모두 free로 선택해서 가입하시면 되겠습니다.

모든 이메일 인증과 절차를 끝내고 sign in 한 화면입니다. 



원격 저장소 생성.

원격저장소는 외부에서 접속하여 저장하는 저장소입니다. 앞선 포스팅에서는 로컬에서 git으로 작업했다면 이제는 원격 저장소에도 저장하여 다수 개발자들과 협업을 해야합니다.



Github의 기능 소개입니다.

Fork: 다른 사람의 저장소를 복사하는 기능입니다.

Pull Request: 포크한 저장소를 수정해 다시 원본 저장소에 병합해달라는 요청을 보내 사용자 사이의 상호작요을 일으킬 수 있습니다.

Issues: 저장소 안에서 사용자들 사이의 문제를 논의하는 기능입니다. 

Wiki: 저장소와 관련된 체계적인 기록을 남기는 기능입니다.


사용자들끼리, 서로의 원격 저장소를 읽거나 쓸 수 있어서, 깃허브에서 오픈소스 프로젝트가 활발하게 이루어진답니다.



그러면 실습에 쓰이는 새로운 원격 저장소를 github에서 생성해보도록 하겠습니다.


[New repository]를 선택합니다.

Owner: 사용자 아이디가 표시됩니다.

Repository name: 저장소 이름입니다.

Description: 원격저장소 역할을 설명합니다.

public/private: 저장소 공개 비공개 설정입니다.

Add .gitignore: 프로젝트에 포함되지않을 파일목록을 만들 때 사용합니다.

Add a license: 어떤 라이센스에 속할지 선택합니다.


다음과 같이 설정하고 생성했습니다.




GitHub 원격 저장소의 구조.

오른쪽 상단의 메뉴들에 대한 설명입니다.


Watch: 원격저장ㅅ의 활동내역을 사용자에게 알려줍니다.

Star: 즐겨찾기 기능이라 생각하시면됩니다.

Fork: 해당 원격저장소를 fork 합니다. 얼마나 많은 사람들이 fork했는지 수가 나타납니다.




저장소 메뉴들을 살펴보겠습니다. 


Code: 해당 원격저장소의 루트 디렉토리로 이동합니다.

issues: 주요 이슈사항을 기재한후 관리합니다.

Pull Requests: 전체 목록을 모아서 보여줍니다. 목록마다 댓글 형태로 토론할 수 있습니다. 왼쪽에있는 숫자는 현재 요청이 온 리퀘스트를 받아들일것인지에 대한 논의가 몇개인지 알려주는것입니다.

Wiki: 공유할 정보나 개발문서, 참고자료등을 작성하기 위한 기능입니다. 

pulse: 해당 원격저장소의 최근 변경 내역을 확인할 수 있습니다. 

Graphs: 공헌자의 공헌내역, 커밋 반영 수 등 활동내역을 그래프화해서 확인할 수 있습니다.

Setting: 해당 저장소 관리자면, 각종 설정을 변경 할 수 있습니다.

HTTPS Clone URL: 원격 저장소를 clone할 때 사용하는 주소정보를 알려줍니다. 

Clone Desktop: 깃허브 전용 클라이엍느 프로그램을 사용할 때 클론할 떄 클릭하면 됩니다.

Download ZIP: 원격 저장소의 전체파일을 하나의 압축 파일형태로 다운로드 받을 수 있습니다.



GitHub 사용자 유형.


사용자 유형 

특징 

저장소 관리자 

 원격 저장소 읽기 및 쓰기 가능. 협업자 초대와 소유권 이전가능합니다.

협업자 

 원격 저장소 읽기 및 쓰기 기능을 할 수 있습니다.

일반 사용자 

 원격 저장소 읽기만 가능합니다. 쓰기 권한이 없으므로 포크를 하여 작업 해야합니다.


다음 포스팅엔 직접 원격 저장소에 접근하여 올려보고 수정해보록 하는 실습을 가지도록 하겠습니다. 

감사합니다.

로컬환경에서 혼자 Git을 사용한다는 가정아래 git의 명령어를 보도록 하겠습니다. 일단 로컬에서 기초를 먼저 다지시면 원격저장소에 저장하는것은 크게 어렵지않게 느끼시게 될것입니다. 기본을 다지다 생각하시고 해당 포스팅 보시면 되겠습니다.


하기와 같은 시나리오 대로 진해앱도록 하겠습니다.

- 로컬 저장소 생성

- 저장소에 파일 생성 및 추가

- 추가된 파일의 수정

- 기본 브랜치에 영향을 끼치지않는 브랜치 생성

- 브랜치 병합

- 충돌 해결

- 저장소 기록 보기


시나리오를 살펴보니, 브랜치간의 병합하고 충돌과정을 해결하는게 딱봐도 어려워 보이네요. 차근차근 풀어가보도록 하겠습니다.


용어정리를 먼저하겟습니다.


Checkout: 현재 작업공간으로 해당 브랜치를 가져온다.

Commit: 프로젝트에서 의미가 있는 최소한의 단위입니다. 의미를 가질 수 있게되는 시기라면 커밋을 하는게 좋습니다.


앞서 포스팅했던, 글을 참고하여 git bash를 실행하도록 합니다.


1. git init 저장소 생성

Git저장소로 사용할 디렉터리를 만들어봅니다.


> mkdir my_work   //디렉토리를 새로 생성합니다.

> cd my_work        // 디렉토리 이동을 합니다.

> git init               //  저장소 초기화를 진행합니다.


현재 작업중인 브랜치가 master가 된것도 확인하실 수 잇습니다.



2. git add, git commit

파이썬 파일 Hello world를 출력하는 프로그램을 작성하도록 하겠습니다. 파이썬이 설치안되어있으시다면 일반 텍스트파일로 진행하셔도 무난합니다. 실전과 같은 느낌으로하려고 파이썬 을 선택했기 때문입니다. 정말 윈도우에서 파이썬을 설치하고싶으시다면, 해당링크 선택하여 설치하시고 오시면 되겠습니다. 


저는 hello.py 파일을 생성해서 print("hello world") 라고 코드를 작성하여 저장했습니다.


hello world가 출력되는것을 확인하실 수 있습니다.

자 이제 저장소 상태를 확인해봅시다.


> git stauts

아래과 같은 메세지가 출력됩니다.

추적하지 않은 파일이 저장소에 있다고 알려줍니다. 이를 추적하려면 git add를 사용하며 된다고 하네요. 소원대로 사용해줍시다.


> git add hello.py


그이후에 다시 쳐봅니다.

> git status


새로운 파일 hello.py가 추가되었다고 뜨는것을 확인하실 수 있습니다.

이제 commit을 해보겠습니다.


> git commit


앗 유져 이메일과 사용자이름을 먼저 설정하고 진행하라고 하는군요. 저처럼 설정안하신분은 설정하고 다시 진행하도록 합니다.


> git config --global user.email "이메일"

> git config --global user.name "이름"


다시 깃 커밋을 날려줍니다.

> git commit


커밋 메세지를 작성하는 화면이 나옵니다. 아마 VIM이 실행되었을 것입니다. I키를 눌러 첫번째 줄에 여러분들의 커맨트를 다시면 되겠습니다.

그이후 ESC를 누르고 :wq룰 입력후 enter를 쳐서 빠져나옵니다. 그러면 커밋이 완료된것입니다.

화면을 빠져나오면, 마스터 브랜치에 어떠한 변화가 생겼는지 출력되는 커멘트들을 확인하실 수 있습니다.


.


3. git branch, git checkout

현재 작업하고있는 브랜치를 확인하는 커맨드는 다음과 같습니다.

> git branch

master 브랜치를 확인하실 수 있습니다.


브랜치 생성은 다음과 같습니다.

> git branch myBranch 


>git branch

master 브랜치, myBranch 를 확인하실수있습니다. 또한 *글자가있는데, 이는 지금 작업중인 브랜치를 표시합니다.


이제 브랜치를 이동해보겠습니다.

>git checkout myBranch


> git branch


해당 브랜치에서 hello.py를 수정해보겠습니다.

>vim hello.py


printf("Hello world") 코드아래, print("Tell me hello") 코드 작성합니다. 저장후 나옵시다. 여기까지가, myBranch에서 hello.py파일을 수정한 상태입니다.



4. git commit -a

현재의 상태를 보겠습니다.

>git status

hello.py 가 수정되었다고 하네요.

이제는 git add 혹은 git commit -a 를 커멘드를 날려라고 하네요. -a옵션은 변경된 저장소 파일모두를 커밋하는 옵션입니다.


> git commit -a 

역시, vim 이뜨면서 커멘트를 달아라고합니다. 적당한 커멘트를 달고 나옵니다. 


그리고 다시 상태를 확인해봅니다.

> git status

myBranch 에 커밋할게 없다고 뜨는것을 확인하실 수 있습니다.


커밋할때 vim이 열려서 따로 추가하고 나오는게 번거로울 수 있는데 그럴때는 아래와 같이 명령어를 치면 되겠습니다.


> git commit -m "커밋할 메세지를 여기에 작성"


5. git merge: master 브랜치와 병합

그럼 이제 다시 master 브랜치로 체크아웃 하겠습니다.


> git checkout master

> python hello.py 

헬로 월드만 뜨는것을 확인하실 수 있습니다.


그리고 이제 브랜치 병합을 실시하겠습니다.


>git merge myBranch

myBranch에 추가한 print("Tell me hello")가 제대로 뜨는지 확인해보겠습니다.


>python hello.py

제대로 출력되는것을 확인하실 수 있습니다. 혹은, cat hello.py 를 입력하시면, myBranch에서 추가한 구문이 병합되어 master 브랜치의 hello.py에 반영된것을 확인하실 수 있습니다. 


6. 각 브랜치의 독립성 확인

병합전 독립성을 확인해보겠습니다.

현재 master 브랜치에서 hello.py마지막에 print("tell his world") 를 추가합니다.


그리고 커밋을 합니다.

>git commit -a    //a옵션은 수정된 파일 모두 커밋입니다.


마스터 브랜치에 커밋 완료했으면 다시 브랜치를 이동하겠습니다.


>git checkout myBranch

>vim hello.py

여기까지 실행했으면 hello.py에는 master 브랜치에서 반영했던 내용이 반영안된것을 확인하실 수 있습니다.

여기선 print("Tell Her world") 를 추가하고 저장하겠습니다.


그리고 해당 브랜치에서 커밋하겠습니다.

>git commit -a 


자 그럼 hello.py가 master 브랜치와 myBranch에서 독립적으로 작성된것을 확인하실 수 있습니다.



7. .gitignore 불필요한 파일 및 폴더 무시

보통 개발을할때 빌드파일 로그파일 기타 잡파일들이 프로젝트 폴더에 포함되는경우가 있습니다. 이런파일들을 commit하게되면 브랜치에는 쓸데없는 파일들이 차고 넘치겠지요. 이런것들을 방지하고자 commit할때 제외시켜주도록 도와주는 파일이 .gitignore파일이 되겠습니다.


>touch .gitignore

빈파일의 .gitignore 파일을 생성합니다.


직접 작성하기엔 저희에겐 시간이없습니다. 그래서 해당사이트에서 도움을 받도록 하겠습니다.

https://www.gitignore.io/

파이썬과 사용중인 운영체제 윈도우스를 선택했습니다. IDE도 입력하시면 됩니다. 아무튼 create하면 파일을 생성해주는데 이걸 .gitignore 파일에 넣으시면 되겠습니다. 저는 메모장으로 그냥 넣었어요.


그리고 다시 

> git status


항상 파일을 새로생성했으면add를 먼저 해주시고 그이후부터 commit을 해주셔야 합니다. add를 통해서 추적을 시작하겠다는것을 전달하는 것이지요.


>git add .gitignore

>git commit -m "added ignorefile"


이제 윈도우, 파이썬으로 작업하실때 불필요한 파일이 저장소에 커밋되는것을 방지하실 수 있습니다.


8. 충돌해결

마스터 브랜치로 이동하여 myBranch와 병합을 시도해보록 하겠습니다.


>git checkout master

>git merge myBranch

cat hello.py

해당 master 브랜치가 merging 이라고 표시가 나오네요. 또한, hello.py 파일을 보면 myBranch에서 작성했던 내용이랑 달랐기때문에 충돌이 되었고 해당파일에 충돌 표시가 보이는것을 확인하실 수 있습니다.


충돌이 났으니 개발자가 직접 풀어야겠죠? 해당 hello.py를 열어서 충돌난 부분을 수정해서 적절하게 합쳐줍시다.

그리고 커밋해봅시다. 

참고로, 이번엔 add로 추적할 대상을 선택안했기때문에 git commit 이 아닌 git commit -a 를 쓰면됩니다.


> git commit -a -m "conflict resolved!"


충돌을 해결하니 master 브랜치도 merging이없어진것을 확인하실 수 있습니다.

충돌을 해결하였습니다.



9. git log 기록보기

> git log --graph

SHA값, 커밋한 사용자, 시각, 메세지등을 확인하실 수 있습니다. 브랜치가 생성되고, 분기되고 merge까지 되는것을 시각적으로 보실 수 도 있습니다.



> git log --stat

각 커밋에서 수정된 파일의 통계정보를 보여줍니다.

Gradle 개요


Gradle 블로그를 포스팅하기 앞서 왜 gradle에 관한 블로그를 포스팅하는지 이유를 말씀드리고싶네요. 현업에서 일하고 있는데, gradle을 항상 남이 짜놓은걸 그대로 받아서 빌드돌려서 개발만 하다가, 이제는 제대로 스터디해서 내기호에 맞게 수정하고싶은 마음이 생겼습니다. 또한, gradle이 강력한 빌드 툴이라는 말을 계속 들어서 언젠가는 해야겠다는 마음먹었는데 드디어 행동에 옮기게 되었습니다. 부디 저와 같이 스터디하여 gradle을 master하도록 합시다.


Gradle OverView



Gradle은 Gradle 사에서 만든 범용 빌드 도구중에 하나입니다. 안드로이드에서 빌드 뿐만 아니라, java, c/c++ 등의 모든 범용 언어를 지원합니다. 그러므로 엄청 강력한 툴이지요. 그래서 Gradle을 한번 배워두면 다른언어로 개발하더라도 빌드 스크립트를 처음부터 다시 작성할 필요없이 재사용하실 수 있습니다. 누차 강조하지만 꼭 gradle을 배워보도록 합시다.


다음은 gradle의 주요 특징 4가지 입니다.


1. Polyglot Build

Gradle은 각 언어를 플러그인으로 구별합니다. java는 java, java 웹 프로젝트는 war, 안드로이드 앱은 com.android.application 플로그인을 사용하면 됩니다.


2. 도구통합

gradle은 이클립스, 안드로이드 스튜디오 와 같은 IDE에서 정말 편리하게 사용할 수 있도록 창을 제공하고있습니다. 또한 젠킨스와 함께 활용할 수 도있습니다. 소스코드가 git에 업로드되면 서버에서 CheckStyle, FindBugs 등의 플러그인을 활용하여 소스코드가 잠재적으로 가진 문제를 검출하여 개발자에게 통보하거나 위험한 코 드를 merge할 수 없도록 강제적으로 할 수 있습니다.


3. 외부 라이브러리 관리 자동화

Gradle의 또다른 장점중 하나는 개발자가 더는 외부라이브러리를 관리하지 않아도 된다는 점입니다. 개인적으로 이점이 가장 마음에 듭니다. 이클립스에서 개발했던 과거의 경우에는 libs 폴더에 원하는 외부라이브러리 파일을 직접 복사하였지만, Gradle 에서는 단순히 외부 저장소 위치와 라이브러리의 그룹, 이름, 버전 등을 지정해주면 알아서 다운로드하고 빌드에 포함시키게 됩니다. 이얼마나 편하고 좋습니까.


4. 고성능 빌드

Gradle은 점진적 빌드, 빌드캐싱, 병렬 빌드 기능을 지원하는 고성능 빌드를 지향합니다. 하지만 실제로 우니도우 환경에서 안드로이드 앱을 빌드해보면 gradle 메모리 사용량이 많고 빌드시 CPU 점유율이 엄청 높게 잡힙니다. 실무에서 권장하는 사양은 메모리 8GB와 SSD 장착입니다. 메모리 4GB에서 모듈의 수가 늘어나면 Out of memery 현상이 발생합니다. 또한 heap이 부족하다고 난리치기도 한답니다.(진짜 경험)







안드로이드 스튜디오에서 Gradle의 특징을 살펴보겠습니다.



1. 멀티 프로젝트 구조

안드로이드 스튜디오에서 프로젝트를 생성하면 멀티 프로젝트로 생성됩니다. app이라는 폴더가 있는데 이를 Gradle에서는 모듈이라고 부릅니다. gradle에서는 app 모듈뿐만 아니라 새로운 모듈을 추가하여 모듈별로 src 폴더를 포함하게 됩니다.


2. src폴더 구조가 다름

androidTest, main, test 폴더를 확인하실 수 있습니다. Test 폴더는 Local Unit Test 를 지원합니다.


3. libs 폴더

이클립스 libs 폴더에는 빌드하는데 필요한 외부라이브러리를 직접 포함시켜야 했습니다. 하지만 gradle에서는 의존성 관리를 gradle이 담당하므로 libs 폴더를 사용하지 않아도됩니다. 필요한 스크립트 파일에서 외부라이브러리의 저장소와 버전등을 지정하면 빌드할 때 알아서 해당 버전을 다운로드하여 포함합니다. 또한, +옵션등을 적용하면 최신버전을 자동으로 다운로드 할 수 있습니다.


4. bin 폴더

gradle에서 빌드를하면 build/output/apk 폴더에 apk 파일이 위치하게됩니다. 혹은 AAR파일도 있게 됩니다.



정독 해주셔서 감사합니다.

안녕하세요 진쓰예요. 형상관리툴하면 가장먼저 생각나는툴은 역시 깃(GIT)이라고 할 수 있습니다.

깃은 리누스 토발스가 개발한 형상관리툴로서, 압도적인 처리속도로 인해서 전세계 개발자 대다수가 사용하는 아주 강력한 툴이라고 할 수 있습니다.


git 포스팅을 시작하는 이유는, 실제 제가 일하고 있는 현업에서 점점 git을 사용하는 추세로 바뀌고 있기 때문입니다. 그러면 그전엔 어떤 형상관리 툴을 썼느냐 하면 p4(perforce)라는 형상관리툴을 이용했습니다. 윈도우 Base의 gui환경을 제공했기 때문에 사용하기 편리했습니다. 그러나 대세에 따라가려면 git을 써야겠죠? 또한, 현업을하면서 퍼포스가 가지는 한계에 부딪혔기때문에 결국 git을 공식 사용하기로 선포하였다고합니다. 부서에서 진행한 git 세미나를 들었었는데요. 실습없이 진행하다보니 그냥 감만 잡은 상태입니다. 그래서 블로그를 진행해보면서 직접 실습도해보면서 개인적으로 공부도 해보고 여러분들에게 공유도하면 좋을 것 같아서 해당 git 포스팅을 하기로 마음먹었습니다.


보통 리눅스 환경에서 git을 많이 사용할텐데요.윈도우에서도 설치하고 이용해보도록 윈도우 git 설치 포스팅 시작하겠습니다.



먼저 공식사이트로 이동해서 git을 다운받도록 합시다.

https://git-scm.com

 

공식사이트로 이동하셨으면 아래화면중 Downloads를 선택합니다.


Downloads를 선택하시고 Windows를 선택하시면, 해당하는 PC에맞는 Bit의 인스톨러를 자동 다운로드하게 됩니다.

 

다운로드가 다되면 설치를 진행하시면 됩니다.

저같은경우는 전부 default로 설정된대로 설치를 진행하였습니다.

이렇게 하시면, git 환경변수도 설치과정중에 자동으로 할당되게됩니다.

 

 

설치를 다 끝내시면, 윈도우 시작에 git bash를 검색하면 다음과 같은 아이콘을 확인하실 수 있게 됩니다.

 

그리고 실행하시면 다음과 같은 bash 창이 열리는것을 확인하실수 있습니다.

 

 

설치되었으면  git이 제대로 설치되었는지 확인해봐야겠죠? 개발자들은 이런 확인과정을 꼼꼼히 해주셔야 합니다.

 

 

사용자 이름과 이메일을 입력하려면 다음 명령을 커멘드라인에 입력하고 실행합니다. git에서 커밋할때마다 기록하는 사용자 이름과

메일 주소를 설정하는 명령입니다.

 

명령을 실행해도 특별한 메세지가 출력되지는 않습니다. 하지만 이제 Git을 사용할 준비가 되었습니다.

혼자 개발이아닌 다수의 개발자들과 협업을 할 수도 있게 되었고, 또한 github사이트에 공유하여 open source 프로젝트도 진행하실 수 있는 환경을 구축하게 되었습니다.

 

 

감사합니다. 부디 Git을 잘 다루는 개발자가 되어 형상관리를 예쁘고 멋지게 해봐요.

다음 포스팅 부터 git을 이용한 실습 예제들을 소개하도록 하겠습니다.

+ Recent posts