안경잡이개발자

728x90
반응형

  최근에 책을 집필하면서 깃허브에 소스코드를 공개했습니다. 하지만 분명 이 책은 파이썬 책인데, C++ 및 Java 소스코드도 함께 제공하면서 Java의 소스코드가 가장 많은 비중을 차지하게 되었습니다. 이 경우 다음과 같이 저장소의 기본 대표 언어가 Java라고 표시됩니다.

 

 

  대표 언어를 Java가 아닌 Python으로 변경하기 위해서는 어떻게 하면 될까요? 바로 .gitattributes 파일을 만드시면 됩니다. 말 그대로 깃 속성을 관리하는 파일인데요. 이를 추가해서 파일 확장자에 따라서 저장소가 어떻게 인식할 지를 설정할 수 있습니다. 저는 저장소 내에 파이썬, C++, Java 코드만 존재하기 때문에 파이썬만 감지되고 나머지는 무시되도록 하였습니다.

*.py linguist-detectable=true
*.cpp linguist-detectable=false
*.java linguist-detectable=false

 

  다음과 같이 저장소의 루트 경로에 .gitattributes 파일을 생성하여 작성해주면 됩니다.

 

 

  파일을 만든 뒤에는 다음과 같이 정상적으로 대표 언어가 파이썬으로 변경되었습니다.

 

728x90
반응형

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
반응형

  깃(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)으로 협업을 하기 위해서는 원격 저장소를 관리하는 방법을 알고 있어야 합니다. 말 그대로 네트워크 공간 어딘가에 존재하는 또 다른 컴퓨터를 원격 저장소라고 말합니다. 우리는 원격 저장소를 여러 개 가질 수도 있고, 각 원격 저장소를 서로 다른 목적으로 활용할 수 있습니다. 원격 저장소로부터 데이터를 받아올 때는 풀(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)를 사용하는 방법에 대해서 알아보도록 하겠습니다. 깃(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
반응형

  지난 번에는 아톰(Atom) 개발환경에서 깃허브와 연동하여 커밋(Commit) 및 푸시(Push)를 하는 방법에 대해서 알아보는 시간을 가졌습니다. 이번 시간에는 깃허브 프로젝트를 클론해서 우리의 프로젝트에서 다루는 방법에 대해 알아보도록 할게요. 클론이라는 것은 임의의 저장소(Repository)에 저장된 프로젝트를 우리의 로컬 컴퓨터로 옮겨오는 것을 의미해요. 바로 'File' -> 'Settings'에 들어가신 뒤에 'Install' 탭에 들어가시면 특정한 패키지를 검색해서 설치할 수 있어요. git-clone을 검색해서 다음과 같이 설치해봅시다.



  설치 이후에는 'Settings'를 누르면 설정 정보를 확인할 수 있어요.



  이제 여기에서 프로젝트를 클론(Clone)해서 저장할 경로를 설정해줍시다. 저는 C 드라이브에 cloned라는 이름의 폴더를 만들었어요.



  이제 다음과 같이 Settings에 클론할 프로젝트 경로를 넣어주면 되요. 이 경로로 클론이 수행될 겁니다.



  이제 한 번 클론 명령어를 입력해 실제로 클론을 수행해보도록 할게요.



  'Packages' -> 'Command Palette' -> 'Toggle'에 들어가서 명령어를 입력해보도록 할게요.



  바로 Git Clone: Clone을 입력하여 git-clone 패키지를 사용합시다.



  이제 한 번 특정한 저장소 경로를 입력해서 다운로드를 받아봅시다.


▶ HTML 이메일 템플릿: https://github.com/leemunroe/responsive-html-email-template


  저는 한 번 위 템플릿을 다운로드를 해줄게요.



  클론이 수행됩니다.




  그럼 이제 C 드라이브의 경로로 가보시면 성공적으로 프로젝트가 다운로드가 되어있네요.



  위와 같이 아톰에서도 확인할 수 있습니다.



  이제 위와 같이 git-plus를 사용해봅시다. git-plus는 이전 시간에 설치한 적이 있었죠. 클론하는 것 말고 깃을 이용해 Add하고 Commit하고 Push하는 등의 활동을 가능하게 해줍니다. 'Packages' -> 'GitHub' -> 'Toggle Git Tab'에 들어가서 git-plus를 열어볼게요.



  위와 같이 특정한 부분의 소스코드를 수정한 뒤에 저장해보시면 오른쪽에 Unstaged Changes에 수정 내용이 기록됩니다. 우클릭 이후에 Stage를 누르시면 Stage Changes에 등록됩니다.



  이제 Stage Changes에 기록된 내용은 Commit을 해 줄 수 있습니다. 한 번 커밋 해보도록 할게요.



  커밋 이후에는 Push를 시킬 수 있습니다.



  다만 해당 저장소에는 제가 푸시할 권한을 가지고 있지 않기 때문에 오류가 나오는 것을 알 수 있습니다. 원한다면 포크(Fork) 이후에 자신의 저장소에서 다양하게 푸시하여 프로젝트를 수정한 이후에 Pull Request를 하는 식으로 오픈소스에 기여할 수는 있겠지요.



728x90
반응형

728x90
반응형

  아톰(Atom) 개발 환경(IDE)은 일반적으로 웹 디자인을 할 때 많이 사용됩니다. 아톰은 깃허브(GitHub)와 연동해서 편하게 다른 사람들과 함께 개발을 할 수 있습니다. 사실 처음에 설정하는 과정만 귀찮지 한 번 하고 나면 함께 개발하는 과정이 굉장히 편해지기 때문에 미리 하는 방법을 익혀 놓으시는 게 좋습니다. 일단 아톰을 설치하는 방법부터 알아보도록 하겠습니다.


  ▶ 아톰(Atom) 다운로드 사이트: https://atom.io/



  위와 같이 'Download Windows 64-bit Installer'를 눌러서 개발 환경을 설치할 수 있습니다. 설치는 단순히 'Next'만 누르면 설치가 완료됩니다. 이후에 다음과 같이 실행되는 것을 알 수 있습니다.



  이후에 한 번 깃허브에 새로운 레포지터리(Repository)를 만들어보도록 하겠습니다. 레포지터리는 말 그대로 소스코드를 저장하는 공간을 의미합니다. 말 그대로 오픈 소스(Open Source)로 프로젝트를 만들고자 한다면 즉시 만들 수 있습니다.


  ▶ 깃 허브(GitHub) 사이트: https://github.com/



  위와 같이 깃 허브 사이트로 이동한 뒤에 회원가입 및 로그인을 하도록 합시다.



  저 또한 로그인을 해주었구요. 로그인 이후에는 위와 같이 새로운 레포지터리를 할 수 있는 탭이 나올 겁니다. 저걸 눌러서 레포지터리를 하나 새롭게 만들어주도록 하겠습니다. 이후에 저는 다음과 같이 Atom-Test라는 이름으로 프로젝트를 생성해줄게요.



  한 번 위와 같이 설정하고 'Create Repository'를 눌러서 레포지터리를 만들도록 합시다.



  이제 위와 같이 레포지터리가 생성된 것을 알 수 있습니다. 이후에는 우리의 컴퓨터에 깃(Git)을 설치하면 됩니다.


▶ 깃 다운로드 사이트: https://git-scm.com/download/win



  이제 깃을 다운로드해서 실질적으로 아톰에서 깃 허브와 연동될 수 있답니다. 바로 위와 같이 깃 설치 프로그램을 실행해봅시다.



  기본적으로 저는 바탕화면에 깃 아이콘도 놓도록 설정해주겠습니다.



  프로그램 숏 커트(이름)은 그냥 Git으로 기본 설정으로 넘어갈게요.



  이후에 간지의 끝 Vim 에디터를 기본 에디터로 설정하겠습니다.



  이후에 디폴트로 명령 프롬프트를 사용하도록 하겠습니다.



  통신 라이브러리는 OpenSSL을 쓰는 것이 일반적입니다.





  이후에 위와 같이 디폴트 설정으로 설치를 진행해주시면 됩니다.



  이제 위와 같이 깃이 설치가 완료되었습니다.



  설치 이후에는 명령 프롬프트(CMD)를 실행해서 git을 입력하시면 깃이 성공적으로 설치가 되어있는 것을 확인할 수 있어요.



※ 아톰과 깃허브 연동하기 ※


  이제 한 번 아톰과 깃허브를 연동해보도록 합시다.



  이제 위와 같이 아톰을 실행한 이후에 File -> Settings에 들어가신 뒤에 위와 같이 Install로 가셔서 git-plus를 검색합니다.



  인스톨 이후에는 바로 위와 같이 나오는데 Settings를 누르시면 설정을 할 수 있습니다.



  Settings에서 아래쪽으로 내려가다 보면 위와 같이 명령어(Command) 모음을 볼 수 있습니다. 다양한 명령어들이 존재하네요. 이제 한 번 간단하게 프로젝트를 생성해서 소스코드를 작성해봅시다. 저는 간단히 index.html을 작성해보았어요.



  이제 현재 Git-Plus가 설치가 된 상태이므로 Packages -> GitHub -> Toggle Git Tab을 누릅니다.



  혹은 Ctrl + Shift + 9를 누르셔도 됩니다.



  이제 위와 같이 저장소 경로를 설정하라고 나오는데 현재 자신의 프로젝트 경로를 그대로 넣어주시는 게 좋습니다.



  이후에 위와 같이 해당 프로젝트 경로에서 깃 설정을 해주시면 됩니다.


▶ git config user.name 이름

▶ git config user.email 이메일

▶ git remote add origin 저장소

▶ git remote -v



  이제 한 번 가볍게 커밋(Commit)과 푸시(Push)를 해봅시다.


▶ git add 파일

▶ git commit -m 커밋 메시지

▶ git push -u origin master



  푸시를 하려고 하면 위와 같이 깃허브에 로그인하라는 메시지가 나올 수 있습니다.



  로그인을 해주면 바로 위와 같이 푸시가 완료된 것을 알 수 있습니다. 이제 이러한 과정을 아톰(Atom) 개발환경을 이용해서 똑같이 수행해주도록 하겠습니다. 바로 다음과 같이 아톰에서 Ctrl + Shift + 9를 눌러서 깃 모듈을 띄우도록 합니다.


  이제 다음과 같이 한 번 index.html 파일을 수정하고 저장(Ctrl + S)를 해보도록 할게요.



  이제 위와 같이 바뀐 내용이 Unstaged Changes에 나오는 것을 알 수 있습니다.



  이제 이를 우클릭한 뒤에 'Stage'를 눌러서 스테이지 변화 탭으로 내용을 옮겨봅시다.



  이제 Staged Changes에 있는 변화 사항들을 Commit해 줄 수 있습니다. 바로 Second Commit이라고 메시지를 입력한 뒤에 커밋을 해볼게요.



  커밋 이후에는 아래쪽에 있는 Push 버튼을 눌러서 푸시를 수행할 수 있습니다.



  푸시 이후에는 위와 같이 커밋된 내용들이 다 적용되어 있는 것을 볼 수 있습니다.


728x90
반응형