본문 바로가기
GIT HUB

[Github] 생활코딩 - Github.com

by 2__50 2020. 6. 19.
[Github] 생활코딩 - Github.com
공부 내용 정리

GIT / GIT HUB

GIT (버전 관리 시스템) GIT HUB

- 소스코드의 변경사항을 관리하는 도구

- 오픈 소스 생태계에서 만들어졌기에, 취향에 따라 client와 server를 조합하여 사용할 수 있다.

- GIT server

- 버전을 통해 만들어진 각각의 파일을 백업하고 타인에게 공유하여 여러 사람이 공동으로 작업할 수 있게 해주는 온라인 서비스

- GIT을 이용하여 많은 곳에 업로드 할 수 있는데, 업로드를 했을 때 file, version을 보관 / 관리해주는 여러 서비스 중 하나.

- 개발자가 version관리를 통해 지금까지 이 프로젝트에 어떤 일이 일어났는가( 각 version별로 어떤 변화가 있었는지, 누가 수정했는지)를 추적할 수 있다.

* Commit new file

- 어떤 작업을 했는지 적는 일지

 

 

 

(1) 홈페이지의 주소

(2) 실제 저장소의 주소

 

 

GIT 으로 관리한 소스코드 GIT HUB에 올려 공유하기

 

[ TERMINAL ] 

 

- welcome 이라는 폴더를 하나 만들고, cd 명령으로 그 폴더 안으로 들어갔다.

 

git clone https://github.com/Ldayoung/welcome.git .
//git: 'git'에 명령 + clone: 복제해라 + 실제 저장소의 주소 + . : 현재 디렉토리로
                                                

+) 

fatal: destination path '.' already exists and is not an empty directory.

- 혹시 이런 error가 떳다면, 해당 폴더 안에 이미 내용이 들어 있다는 뜻이다. 즉, 절대 생성 불가능하다.
- 이럴 경우 파일을 지우고 다시 명령어를 입력한다.

- (나의 경우 ' . ' 을 지우고 명령어를 실행했더니 성공하긴 했지만 찝찝해서 다시 welcome이란 폴더 만들고

처음부터 다시 했다.)

 

.git

숨김폴더. 자신이 속한 폴더에 변화되는 내용을 감지하는 센서

 

git diff
//마지막 버전 이후에 수정된 게 뭔지 보여줘
//diff: 차이점

//file3.txt에 version5 라는 내용이 추가되었다고 달라진 파일과 달라진 내용을 보여준다.

 

 

git add

  • git add . : 현재까지 변화된 모든(.) 파일을 commit의 대상으로 지정
  • git add 파일명 : 해당 파일을 commit의 대상으로 지정
  • 새 버전을 업데이트 할거야
  • unstage -> stage 환경으로 지정 -> stage환경에 올라간 파일만이 commit의 대상이 될 수 있다.

 

git commit -m "version5"
// commit : 실제로 commit
// -m : message + "수정된 내용에 붙힐 이름"

git commit

  • git commit -m "version5"
  • commit : 히스토리 지점으로 지정. commit한 지점의 소스로 다시 복구할 수 있게된다. -> commit된 파일들은 push 의 대상이 된다.
  • -m : message + "수정된 내용에 붙힐 이름"

 

git log
//log: history를 보여줘! 

//version5 -> 방금 생성한 버전이 나타났다.

 

 

git push

  • push : 지역 저장소의 버전을 원격 저장소로 밀어 넣는다. (원격 repository에 저장) 
  • git push gitURL : 설정한 gitURL(원격저장소)에 commit된 파일들을 전송
  • 컴퓨터에서 작업한 버전을 Github로 upload해서 두 개의 상태가 같도록 동기화

git status
// status : 현재 상태를 보여줘!

// file1.txt, file3.txt가 수정되었어!

 

- 파일을 하나하나 업로드 할 필요 없이 수정한 file을 터미널에서 git add, commit, push 하여 내컴퓨터(local)와 Git hub에 업로드 된 상태를 편안하게 동기화 할 수 있다. 

 

Member 등록

 

1. Member를 등록하고자 하는 repository로 들어가 Settings 를 누른다.

 

 

2. options -> Manage access

 

 

3. Invite a collabolator -> 초대할 member의 github명이나 e-mail 검색 -> add -> (예비)member에게 초대장이 발송됨 -> (예비)member가 초대를 승인하면 프로젝트의 member가 된다.

 

Issue

- 게시판 통해 토론, 대화 (문제점 공유)

 

 

 

 

Assigness : 해결할만 한 담당자 지정

Labels : 어떤 내용인지

- duplicate : 다른 사람이 이미 제출한 이슈라 클로즈 시켜도 될 것 같다! 

- enhancement : 기능 개선

- invalid : 이 이슈가 유효하지 않다. 착각한 거다.

 

다 작성후 Submit new issue

 

Close issue : 이슈를 해결, 더 이상 유효하지 않다. / 삭제는 하지 않지만 해결됐음을 명시적으로 표시

 

Wiki : 만들고 있는 소프트 웨어의 사용설명서, 이 프로젝트에 참여하는 방법 등 프로젝트와 관련된 여러 지식을

체계적으로 공유

Insights : 이 프로젝트가 얼마나 활성화 되고 있는지, 어떤 문제점이 있는지를 파악

- Contributors : 프로젝트에 참여하고 있는 핵심적인 멤버들을 순서대로  보여주는 중요한 지표

- Commits : commit의 빈도수. (최근까지도 열심히 하는 프로젝트인지, 버려진 프로젝트인지) 

- Code frequency : 이 코드가 얼마나 활발하게 작성되고 있나 (Additions: 추가 / Deletions: 삭제)

Fork : 그 저장소를 마치 내 것인 것처럼 복제. 오픈소스라 마음대로 수정가능

Pull requests : Fork를 통해 복제한 소스를 수정하다가, 내가 수정한 내용이 괜찮고 원래 프로젝트에도 반영되면 좋겠을 때 내 작업물을 제출

Actions

- 이 저장소로 작업자들이 push를 하면 아래의 작업들을 실행하도록 github에 setting

ex) - push한 내용을 자동으로 test 후 test 결과 문제가 없다면 실제 server에 자동으로 반영

     - push했다는 것을 자동으로 알리기 위해 e-mail 또는 문자를 자동 발행

     - 내가 작성한 코드를 자동으로 업무 일지에 기록

 

 

참고

유튜브: youtu.be/tocFib6Ytls

칼럼: https://berkleyplace.blogspot.com/2018/05/github-windows.html

댓글