[Github] 생활코딩 - Github.com
공부 내용 정리
GIT / GIT HUB
GIT (버전 관리 시스템) | GIT HUB |
- 소스코드의 변경사항을 관리하는 도구 - 오픈 소스 생태계에서 만들어졌기에, 취향에 따라 client와 server를 조합하여 사용할 수 있다. |
- GIT server - 개발자가 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
댓글