깃 & 깃허브 입문2020. 7. 17. 13:44
728x90

git clone과 git pull 둘 다 원격저장소에서 로컬저장소로 가져오는 것은 맞습니다.

하지만 git clone은 local에 아무것도 없는 상태에서 원격저장소의 데이터를 가져오는 것을 의미합니다.

그리고 git pull은 local에 이미 있고, 원격저장소의 수정상태를 반영하기 위해 하는 것 입니다.

 

항상 수정 전 git pull 잊지마세요!!

반응형
Posted by mminky
깃 & 깃허브 입문2020. 5. 19. 22:07
728x90

깃에 repository를 생성한 후

안드로이드 스튜디오와 연동해보겠습니다!

 

1. 안드로이드 스튜디오 세팅

 

File -> Settings

 

Version Control -> Git -> Test버튼

만약 깃이 잘 설치되어있다면 Git Version is ~라는 창이 뜰 것이다.

 

Add account를 클릭한 후

Login에 깃허브 계정을, Password에 비밀번호를 입력한 후 Log In을 클릭한다

(기존계정은 초록 박스 안의 +와 -를 이용해서 추가/ 제거가 가능하다.)

 

2. 안드로이드 - 깃허브 연결

 

vcs -> Enable Version Control Integration

Git을 선택한다.

 

Import Into Version Control -> Share Project on GitHub 클릭

 

여기서 생성할 저장소 이름을 적는다.

필요하면 Description에 설명을 적는다.

(3명 이하에서는 private를 무료로 제공한다.)

 

'Share'버튼을 클릭하면 다음과 같은 창이 뜬다.

어떤 파일들을 커밋할지에 대한 창이다.

나는 다 선택했다!

 

하단에 Commit Message에는 원하는 메시지를 적으면 된다.

 

깃허브에 들어가서 확인해보면 커밋이 잘 되어있는 것을 확인 할 수 있다.

반응형
Posted by mminky
깃 & 깃허브 입문2020. 4. 2. 16:32
728x90

깃허브에는 자신의 자료도 올릴 수 있지만,

개발자 간에 커뮤니티가 잘 형성되어있어서 질문을 올릴 수도 있습니다.

오늘은 그 질문을 어떻게 올리는가에 대해 알아보겠습니다!

 

( ↓깃허브 가입하기 )

 

우선, GitHub Community Forum에 접속합니다.

https://github.community/

GitHub Community Forum

github.community

아래와 같은 화면을 볼 수 있습니다.

 

 

깃허브 커뮤니티 포럼

 

 

Converstaions 아래에 파란 글씨들이 보이실 겁니다.

Welcome, How to use Git and Github..

 

이 글자들은 질문의 주제를 의미합니다.

예를 들어 프로그래밍 관련 질문을 하고 싶으면 Programming Help and Discussion 글씨를 클릭하면 됩니다.

 

 

 

 

클릭을 하면 다음과 같은 화면이 나타납니다.

 

Programming Help and Discussion

 

 

사람들이 올린 질문을 보고 싶으면 각 질문을 클릭합니다.

그러면 질문 내용과 답변을 볼 수 있습니다.

 

질문을 하고 싶으면 Start a topic튼을 클릭해서 질문을 작성합니다.

 

 

 

 

 

Subject에 질문의 제목을, Body에 질문의 내용을 입력합니다.

우측에 보이는 Email me when someone replies를 체크하면 답변 알림도 받을 수 있는 것 같네요!

Body를 보니 Text와 HTML 중 선택할 수 있는 것 같네요!

 

다 입력했으면 Post를 누르고 답변(Reply)을 기다리면 됩니다 ◡̈


※ 제 글이 도움이 되었다면 공감 부탁드려요 :)

반응형

'깃 & 깃허브 입문' 카테고리의 다른 글

Git Clone & Git Pull 차이  (3) 2020.07.17
[ 깃 - 안드로이드 연동 ] 초기 커밋 & 저장소 만들기  (0) 2020.05.19
[CH 03] 깃과 브랜치  (0) 2020.02.04
[CH 02] 버전 관리  (0) 2020.02.04
[CH 01] 깃 시작하기  (0) 2020.02.04
Posted by mminky
깃 & 깃허브 입문2020. 2. 4. 14:22
728x90

오늘은 깃과 브랜치에 대해 알아보겠습니다!

 

1) 브랜치란?

 기존 버전(master)에서 가지를 쳐 새로운 방향으로 나아가는 것입니다.

 

 Branch의 뜻은 나뭇가지, 분점입니다.

 나뭇가지에서 새 줄기를 뻗어나가는 모습을 상상하면 이해가 더 쉬울 것 입니다.

branch 개념

 기존브랜치인 master 브랜치에서 branch 1, 2로 분기한 모습입니다.

 원래대로라면 B 뒤에 C->D가 나와야 하지만

 branch에서는 B 뒤에 E->F나 G->H가 나옵니다.

 

2) 브랜치 만들기

 우선 기존 브랜치를 만들어 보겠습니다.

브랜치 만들기 위한 설정

 $ mkdir make_branch

 : 홈디렉터리(~)에 make_branch라는 디렉터리를 만들었습니다.

 

 $ cd make_branch

 : make_branch 디렉터리로 이동합니다.

 

 $ git init

 : make_branch를 깃저장소로 설정합니다.

 

 $ ls -al

 : .git/ 디렉터리가 만들어졌는지 확인합니다.

 

 

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

본 글은 Do it! 깃&깃허브 입문 책을 참고하여 작성하였습니다.

https://book.naver.com/bookdb/book_detail.nhn?bid=15910099

반응형
Posted by mminky
깃 & 깃허브 입문2020. 2. 4. 14:21
728x90

저번 시간에 깃의 기본 기능에 대해 배웠습니다!

기억이 안나시는 분은 아래 글을 참고하세요:)

https://mminky.tistory.com/5

 

[CH 01] 깃 시작하기

오늘부터 Do it!시리즈 깃 & 깃허브 입문 책으로 깃을 공부해볼까 합니다! https://book.naver.com/bookdb/book_detail.nhn?bid=15910099 Do it! 지옥에서 온 관리자 깃&깃허브 입문 생활코딩 강의에서 52개를 엄..

mminky.tistory.com

오늘은 깃의 버전관리에 대해 배워보겠습니다.

 

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

 

우선 버전관리를 위해서는 버전을 저장할 수 있는 저장소를 만들어야 합니다.

저장소를 만든 디렉터리에서 파일의 버전관리를 할 수 있습니다.

 

1) 버전관리를 위한 준비

git디렉터리(저장소) 만들기

  $ mkdir git-storage

     : 깃 저장소를 만들 디렉터리 생성

  $ cd git-storage

     : 만든 디렉터리(git-storage)로 이동

  $ git init

     : 깃을 이용할 수 있게끔 디렉터리 초기화

       ( Initialized empty Git repository in ~ 는 이제 깃을 이용할 수 있다는 뜻 입니다.)

  $ ls -la

     : 상세정보(l), 숨김파일(a) 표시

      git init 이후에 .git/ 디렉터리가 생성된 것을 볼 수 있습니다. 이 디렉터리가 바로 '저장소(repository)' 입니다.

 

2) 작업트리, 스테이지, 저장소

작업 트리, 스테이지, 저장소를 그림으로 나타내면 다음과 같습니다.

git 디렉터리

작업트리 : 파일 수정, 저장을 하는 디렉터리

스테이지 : 버전으로 만들 파일이 대기하는 곳

저장소 : 스테이지의 파일들을 버전으로 만들어 저장하는 곳

 

우리가 a, b, c, d파일을 만들면 위 그림처럼 작업트리에 a.txt, b.txt, c.txt, d.txt파일이 생성됩니다.

그 중 커밋하고 싶은(버전으로 만들고 싶은) a.txt를 골라 커밋합니다. git add a.txt

git commit 을 하면 스테이지에 방금 올린 a.txt 뿐만 아니라 기존에 스테이지에 있던 e, f까지 한 번에 커밋이 됩니다.저저장소로 커밋된 a, e, f는 버전으로 만들어집니다.

 

3) 깃의 상태

  $ git status

 

  - 작업트리에 아무 파일도 없을 때

작업트리가 비어있을 때

On branch master : master 브랜치에 있습니다. (CH03에 브랜치에 대한 설명이 있습니다.)

No commits yet : 아직 커밋한 파일 이 없습니다.

nothing to commit : 커밋 할 파일이 없습니다.

 

 

  - 작업트리에 파일 생성

  이번에는 작업트리인 git-storage(위에서 만든 디렉터리)에 filename.txt를 만들어 보겠습니다.

filename.txt 생성

키보드의 ' I '나 ' A '를 눌러 --끼워넣기--모드로 바꾼 후 내용을 입력합니다.

파일 내용 입력

'Esc'키를 눌러 ex모드로 변환한 후 ' :wq '를 입력해 저장종료합니다. (기억안나면 CH01 복습!!)

On branch master

No commits yet

Untracked files: filename.txt

nothing added to commit but untracked files present

커밋한 것은 없지만 Untracked file(버전관리 한 번도 안 한 파일)이 존재한다. -> filename.txt를 뜻하겠죠?

작업트리에 파일이 생김

현재 상황은 위 그림과 같이 작업트리에 filename.txt가 생겼습니다.

 

  - 스테이징(Staging)

  작업트리에 있는 파일을 스테이지로 올리는 과정을 스테이징 이라고 합니다.

 

  $ git add 파일명

git add로 스테이징 하기

warning: LF will be replaced by CRLF in filename.txt.

라는 경고가 뜹니다.

Git Bash에서 리눅스를 기반으로 합니다. 이 경고는 윈도우의 줄바꿈 문자(CR LF)와 리눅스의 줄바꿈 문자(LF)가 다르기 때문에 발생합니다. (맥은 LF이기 때문에 발생하지 않습니다.)

LF가 CRLF로 대체된다고 하네요. (책에서는 반대로 말하는데 뭐가 맞는건진 모르겠어요)

하지만 우리가 해야할 건 없습니다!

작업트리에 파일이 생성되었을 때

Changes to be committed:

   new file: filename.txt

새 파일인 filename.txt를 커밋할 준비가 되었다.

(취소하려면 git rm 명령어 이용)

Staging

스테이징을 그림으로 나타내면 위와 같다.

 

  - 커밋(Commit)

   $ git commit

git commit

이때, 커밋에 메시지를 넣고 싶다면

$ git commit -m "메시지내용" 이렇게 입력합니다.

결과창에 1 file changed, 1 insertion이라고 표시됩니다.

파일 1개가 변경되었고 1개의 내용이 추가되었다는 내용입니다.

git 상태

이 때의 git 상태를 보면 nothing to commit, working tree clean 입니다.

즉 commit 할 것이 없고 작업트리도 수정할 것 없이 깨끗하다라는 뜻 입니다.

commit

커밋을 하면 스테이지에 있던 filename.txt의 버전이 저장소에 생성됩니다.

 

$ git log

저장소에 저장된 버전 확인

git log

git log를 하면 first_message라고 입력했던 커밋을 통해 버전이 만들어졌다는 것을 알 수 있습니다.

 

$ git log --stat

git log --stat

git log 뒤에 --stat을 붙이면 커밋 관련 파일이 표시됩니다.

filename.txt | 1 + 이라는 메시지를 통해 filename.txt파일이 커밋되었음을 알 수 있습니다.

 

$ git commit -am

commit 뒤에 -am을 붙이면 스테이징과 커밋을 한 번에 처리합니다.

메시지를 붙이고 싶다면 $ git commit -am "메시지내용" 를 입력하면 됩니다.

 

4) 파일의 상태

  - tracked & untracked

   tracked : 한 번 이라도 커밋 된 파일

    깃은 한 번이라도 커밋 된 파일의 수정 여부를 계속 추적(track)합니다.

    이런 파일은 수정 후 git status를 확인하면 modified: 라고 표시됩니다.

 

   untracked : 한 번도 커밋되지 않은 파일

    이 파일의 경우 untracked files: 라고 표시 됩니다.

 

5) 작업취소

$ git checkout -- filename.txt

작업 트리에서 작업을 되돌리는 명령어 입니다. checkout으로 되돌린 내용은 복구할 수 없습니다.

 

$ git reset HEAD filename.txt

스테이징을 취소하는 명령어 입니다. 뒤에 파일명(filename.txt)을 입력하지 않으면

모든 파일의 스테이징을 취소합니다.

 

$ git reset HEAD^

가장 마지막에 한 커밋을 취소합니다. 동시에 스테이징도 취소되고 작업트리에만 남게 됩니다.

최근 2개의 커밋을 취소하려면 $ git reset HEAD~2 를 입력하면 됩니다.

 

 

 

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

본 글은 Do it! 깃&깃허브 입문 책을 참고하여 작성하였습니다.

https://book.naver.com/bookdb/book_detail.nhn?bid=15910099

반응형
Posted by mminky
깃 & 깃허브 입문2020. 2. 4. 14:21
728x90

오늘부터 Do it!시리즈 깃 & 깃허브 입문 책으로 깃을 공부해볼까 합니다!

https://book.naver.com/bookdb/book_detail.nhn?bid=15910099

 

Do it! 지옥에서 온 관리자 깃&깃허브 입문

생활코딩 강의에서 52개를 엄선, 한 권 안에 자주 쓰는 기능은 모두 담았다.문서 지옥, 깃&깃허브로 하루 안에 탈출한다!대학생, 개발자, 일반 사무직까지! 문서 지옥에 빠진 모두를 위한 깃&깃허브 입문서가 나왔습니다. 일반 사람들에게 쉽게 프로그래밍을 알려 주는 ‘생활코딩’의 깃&깃허브 관련 강의에서 52개를 엄선해 체계적으로 재구성한 책입니다. 깃&깃허브를 처음 사용하는 사람이 볼 때 막힘이 없도록 자주 쓰지 않는 기능이나 복잡한 동작 원리 등은 빼고

book.naver.com

 

깃&깃허브를 다뤄 본 사람이라면 하루만에!

처음사용해보시는 분이라면 하루 한 시간 씩 5일 안에 끝낼 수 있다고 하네요! (저자피셜)

 

저는 오늘 부터 각 챕터의 핵심 내용을 정리해서 올려보겠습니다 :)

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

1) Git의 정의 및 핵심 기능

 

깃(Git)이란 효율적으로 소스 코드를 관리해주는 프로그램 입니다.

 

깃의 핵심 기능은 버전관리(Version Control), 백업(BackUp), 협업(collaboration) 입니다.

 - 버전관리

  보고서를 만들 다 보면 수정할 일이 생깁니다.

  저는 그럴 때 마다 '다른 이름으로 저장하기'를 해서 최종, 진짜 최종..이렇게 만드는데요~

  이게 바로 버전 관리의 간단한 예시 입니다.

  초안, 수정1, .. 최종본 ->이런 것들을 버전(Version)이라고 합니다.

 

  깃은 수정할 때 마다 언제, 무엇을 수정했는지 편하고 구체적으로 버전을 관리할 수 있게 해줍니다.

 

 - 백업

  백업 : 사용자의 실수나 사고를 대비하여 원본을 복사해 두는 것

 

  휴대폰의 사진을 네이버클라우드나 icloud 등에 복사해 놓으면 휴대폰을 바꿔도, 실수로 사진을 지워도

  사진은 살아있습니다. 이는 클라우드에 사진을 백업한 예시로 볼 수 있습니다.

 

  그렇다면 '깃'의 경우에는 어떨까요?

  '깃'을 백업하는 '온라인 저장소'가 바로 '깃허브'입니다.

 

 - 협업

   온라인 서비스인 '깃허브'를 이용해 여러 사람과 협업이 가능합니다.

   또한 누가 어느 부분을 수정했는지 기록에 남기 때문에 오류파악에도 도움이 됩니다.

 

이 책에서는 커맨드 라인 인터페이스(Command Line Interface)를 이용합니다.

이 방식은 사용자 인터페이스 프로그램(깃허브 데스크톱 등)보다는 어렵지만

익숙해지면 훨씬 빠르고 다양하게 깃을 활용할 수 있다고 합니다.

 

2) 깃 환경 설정

 

 - 사용자 정보 입력

  우선 Git Bash(윈도우)를 열어봅니다. (mac 인 경우 터미널창)

  사용자의 이름을 다음과 같이 설정합니다.

사용자 이름 설정

  사용자의 메일 주소를 설정합니다.

사용자 이메일 설정

  이 때 --global 은 현재 컴퓨터의 모든 저장소에서 입력한 정보를 사용하도록 합니다.

 

3) 리눅스 명령

 터미널 창에서는 리눅스 명령을 사용합니다.

 따라서 기본 몇 가지 명령을 배워보겠습니다.

 

 우선, 리눅스의 '디렉터리(directory)'라는 말은 윈도우의 '폴더(folder)'와 동일합니다.

 

  $ pwd

    : Print Working Directory

     현재 위치 경로 표시

현위치 표시

  $ ls

    : LiSt

     현 디렉터리 내에 있는 파일이나 디렉터리 목록 표시

c/Users/user 내의 디렉터리, 파일 목록

    이 때 Documents/처럼 이름 뒤에 /가 붙어있는 것이 '디렉터리'입니다.

 

 $ ls -la

    : 리눅스 명령에 옵션을 추가하려면 - 뒤에 원하는 옵션을 입력합니다.

옵션 설명
-a 숨김 파일(디렉터리) 표시
-l 상세정보 표시
-r 역순서로 정렬
-t 시간순 표시(내림차순)

      ls -la의 경우 상세정보를 표시하는 'l'과 숨김 파일을 표시하는 'a'를 붙였습니다.

      이 때, 순서는 상관 없습니다.(la, al 둘 다 가능)

상세정보 & 숨김파일 표시 리스트

 

  $ cd

   : Change Directory

     디렉터리 이동

명령 설명
cd .. (cd 한 칸 띄우고 ..) 한 단계 상위 디렉터리로 이동
cd Users 하위디렉터리인 Users로 이동
cd ~ 홈 디렉터리로 이동

* 홈 디렉터리(~)란, 사용자 디렉터리라고 하며 경로는 'c/Users/사용자아이디' 입니다.

 

아래 사진은 cd명령어 사용 예시 입니다.

cd명령어

 초기 위치가 홈 디렉터리(c/ Users/ 사용자아이디) 일 경우

 홈(~)에서 cd ..을 하면 상위디렉터리인 Users로 이동합니다.

 Users에서 cd ..을 하면 상위디렉터리인 c로 이동합니다.

 

 c에서 하위디렉터리인 Users로 이동하기 위해 cd Users를 입력합니다.

 그러면 /c/Users로 이동한 것을 알 수 있습니다.

  

 

$ mkdir

 : MaKe DIRectory

  현 디렉터리 내에 하위 디렉터리 생성

~/Documents에 생긴 gittest

 우선 홈 디렉터리에 위치시킵니다. (cd ~)

 -> 홈 디렉터리 하위디렉터리인 Documents로 이동합니다(cd Documents)

 -> gittest라는 디렉터리를 생성합니다. (mkdir gittest)

 -> ~/Documnets내의 파일과 디렉터리를 확인합니다.(ls)

 -> gittest/가 생성되었음을 확인합니다.

 

$ rm

 : ReMove

  디렉터리 삭제

 

 만약 하위디렉터리와 파일 까지 함께 삭제하고 싶을 경우 -r 옵션을 추가합니다. (rm -r)

~/Documents에서 gittest삭제

 rm -r gittest 명령어를 입력하니 ~/Documents에서 gittest디렉터리가 사라진 것을 볼 수 있습니다.

 

* 주의 : 항상 삭제하고자 하는 디렉터리의 상위 디렉터리에서 rm명령을 해줘야 합니다.

 

4) Vim에서 텍스트 문서 만들기

 Vim(빔)은 리눅스의 기본 편집기입니다. (윈도우의 메모장 같은)

 이 책에서는 Vim을 이용하여 깃 이용법을 설명하고 있습니다.

 

 $ vim test.txt

  : vim 명령은 입력한 파일이름(test)과 같은 파일이 없다면 새로 만들고,

                                                                  있다면 그 파일을 엽니다.

vim 명령을 입력하면 위의 화면으로 전환됩니다.

저는 c/Users/user/Documents에 test.txt파일을 만들었습니다.

 

빔에는 '입력 모드'와 'ex 모드'가 있습니다.

입력 모드는 텍스트를 입력, 수정하는 모드이고

ex 모드저장, 종료 하는 모드 입니다.

 

빔은 처음 ex 모드로 열리기 때문에

I (Insert)나 A (Add)키를 눌러 '입력모드'로 변경시켜 줘야합니다.

입력 모드가 되면 화면 하단에 --끼워넣기--라는 글자가 표시됩니다.

입력 모드

입력 모드가 되면 vim편집기에 입력이 될 것 입니다.

 내용을 입력했으면 저장 및 종료를 위해 ex 모드로 변환해야 합니다.

 Esc키를 누르면 ex 모드로 바뀝니다.

 ex모드에서 저장을 할 때는 :wq명령을 입력하고 Enter키를 누릅니다.

 이때, w는 '저장', q는 '종료'를 의미합니다.

명령 설명
:w , :write 문서 저장
:q , :quit 편집기 종료
:wq (파일명)

문서를 저장 후 종료합니다.

파일 명을 입력하면 해당 이름으로 저장합니다.

:q!

문서를 저장하지 않고 편집기를 종료합니다.

임시파일(.swp)이 생깁니다.

 

ex모드에서 :키를 누르면 하단에 입력됨

 엔터 키를 누르면

 vim을 실행했던 터미널 화면으로 돌아갑니다.

 

 $ cat

  : Concatenate 연쇄하다

  터미널 창에서 텍스트 문서를 간단히 볼 수 있음

cat 명령어

  cat 명령어의 기능

명령 설명
cat 파일 파일의 내용을 화면에 표시
cat 파일1, 파일2, 파일3> 새파일 3개의 파일을 연결해서 새 파일 생성 (n개 입력하면 n개연결)
cat 파일1>>파일2 파일1 내용을 파일2의 끝에 연결
반응형
Posted by mminky
깃 & 깃허브 입문2020. 2. 2. 17:00
728x90

오늘은 깃허브에 가입하는 방법에 대해서 알아보겠습니다!

깃허브는 많은 개발자들이 쓰고 있고

개발자라면 필수로 가입하는 서비스이죠?!

 

같이 가입해봐요:)

 

https://github.com/

 

Build software better, together

GitHub is where people build software. More than 40 million people use GitHub to discover, fork, and contribute to over 100 million projects.

github.com

깃허브 회원가입

우선 깃허브에 접속한 후 'Sign up'버튼을 누릅니다.

회원가입 정보입력

순서대로 입력해주시고 'Select Plan' 버튼을 클릭합니다.

그러면 하단의 화면으로 바뀝니다.

깃허브계정에는 무료(좌측)계정과 Pro(우측)계정이 있습니다.

개인적인 공부목적으로 개설한 것이라면 무료계정으로 충분합니다.

저는 Choose Free버튼을 눌렀습니다.

 

설문조사 화면이 나타납니다.

설문조사

설문조사하기 귀찮으신 분은 그냥 Skip this step버튼을 눌러주세요!

 

이메일 확인

아까 입력한 이메일로 확인메일이 전송되었을 것입니다.

메일 내의 'Verify email address'를 눌러서 인증을 해주세요!

그러면 깃허브 가입이 끝납니다:)

 

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

 

깃허브에서 sign in 버튼을 클릭한 후

ID : username이나 이메일주소

Password : 비밀번호 (15자 이상 or 숫자+소문자 8자 이상)

 

아이디 비밀번호 입력 후 Sign in 버튼으로 회원가입이 완료되었는지 확인하면 끝~~!!

반응형
Posted by mminky