초급의 끄적거림

[Git/Github] git과 github, 환경설정 그 외 본문

기타/Git, Github

[Git/Github] git과 github, 환경설정 그 외

codingD 2019. 8. 20. 12:57

※ 유튜브 등에서 보고 주워들은 정보들을 정리한 것들. 잘못된 정보가 있거나 추후 보강할 내용이 있으면 수정, 보완할 것.

 

[git / github]

⊙ git : 버전관리를 위한 소프트웨어, 내용을 박제하고 브랜치를 사용하는 등의 작업을 함

⊙ github : git에서 작업한 내용을 원격으로 전송해서 공용공간에 저장하거나 다른 구성원들이 작업해서 올린 내용을

              다운 받고 내가 작업한 내용을 전송하는 방식

          → git으로 저장되어 원격전송된 내역들이 저장되는 공간을 제공하는 서비스

 

 

[git 환경설정 명령어]

  $cd 폴더디렉토리    파일들이 다 담기는 프로젝트 폴더
  $git init 

  git을 시작하면 폴더의 모든 수정내역들이 저장되는 .git 공간이 생김

  .git은 숨김폴더로 나타나기 때문에 '폴더-보기-숨김폴더'로 나타나게 함

  $ git add -A    백업에 포함할 파일들 모두 설정
  $git commit -m "작업수행내용"

  '이 시점까지는 이러이러한 작업을 진행했다' 라는 완려

  완료 되었다는 commit을 사용하면서 사진찍히듯 지금까지한 내용들이 박제

  전체 파일의 복사가 아니라 각 버전의 변경사항만 기록됨

  $ git logs    프로젝트를 앞으로 되돌려야하는 경우 지금까지의 박제내역을 확인
  $ git reset --hard 과거의 상태의 파일명   예를 들어 과거상태의 파일명이 3r5da0 라면 그 상태부터 복원
  $git branch "브랜치명"    기능을 넣을까말까 고민을 하면서 분기하는 것 (=branch (가지)를 딴다)
  $git merger "브랜치명"

  주가 되는 코드는 메인 브랜치에서 작업을 하고 시도해볼 부분은 다른 브랜치

  에서 만들다가 적용해도 된다 싶을 때 사용하여 메인 브랜치에 합침

  $git config --global user.name 사용자명

  $git config --global user.email 이메일

  git을 사용하기 위해 환경설정이 필요하기 때문에 repository 접근하기 위한 

  일종의 로그인

  $git clone

  일종의 다운로드, repository를 내 컴퓨터로 동기화 시킴

  $git add document.txt (파일명)

  만든 document.txt를 추가하기 위함 

  $git commit -m "Add Text File [파일명]"

  github에 추가해줌

  $git push

  remote repository 에 올라가게 됨, 실행이 되면 올리고자했던 document.txt

  가 올라간 것을 확인할 수 있음


⊙ 내 컴퓨터의 git : local repository

⊙ github 주소      : 원격지 리포지토리, remote repository

⊙ 별이 많은 오픈소스일 수록 좋고 유명한 오픈소스라고 볼 수 있음

⊙ README 파일을 통해서 오픈소스의 정보를 확인할 수 있음

 

 

[오픈소스의 개요 및 오픈소스 활동을 하는 이유]

⊙ 오픈 소스 : 공개된 소스코드, 대표적으로 부트스트랩

  - 오픈 하는 이유 : 사회 공헌, 소프트웨어의 품질향상, 

                             어쩔수 없이 (because 오픈 소스라이센스 때문 - MITLicense, Apache License, GPL, Beerware)

⊙ contribution (컨트리뷰션) : 기여한다, 소스의 기능 추가, 보완, 오타수정, 번역 등 기여하는 모든 행동을 의미

   - 하는 이유 : 기록으로 남기 때문에 자신의 이력서로 만들 수 있음, 내가 작업한 새로운 기능을 다른 개발자들도 사용

                       해보고 이를 평가 개선할 수 있음

 committer (=실제관리자) : 컨트리뷰션의 반대말로 해당 내용을 리뷰하고 실제 프로젝트에 반영할지를 결정하는 사람으로 특정한 프로젝트를 오픈 소스로 만들어서 관리하는 사람을 의미

 

 

 

Comments