[ Git : Git 소개, Git을 이용한 Workflow ]

Teasan·2020년 9월 27일

Git

목록 보기
3/3
post-thumbnail

command line

  • 빠르다
    강력하다
    접근성이 좋다

why *NIX(LINUX/UNIX) ?

  • 서버 시장에서의 NIX 점유율이 높음
    AWS 및 Azure 등에서 제공하는 서버는 대부분
    NIX 계열
    open source

USEFUL COMMAND
[ls] : 파일 보기. 현재 위치한 속성 파일을 볼 수 있다
[cd] : 디렉토리로 이동하기
디렉토리로 이동하는 방법
[cd ~] : 홈 디렉토리로 이동 (현재 사용자의 개인화 파일들이 있는 디렉토리를 의미)
[cd /] : 루트 디렉토리로 이동 (시스템의 최상위 디렉토리를 의미)
[cd .] : 현재 디렉토리로 이동
[cd ..] : 부모 디렉토리로 이동
[pwd] : 현재 디렉토리 위치 확인

주요 명령어 모음

유의할 명령어 rm : 이 명령어는 삭제 전 확인이 없으며, 한번 삭제된 파일은 복구할 수가 없다. 신중히 써야할 명령어.

관리자 권한으로 실행하기

✦ sudo ✦

  • 관리자만 읽을 수 있는 파일 읽기
  • 새로운 프로그램 설치 (Ubuntu Linux)
  • Notes ; 새로운 프로그램 설치 시에 Package Manager 를 이용하는 것이 보편적이다.
  • sudo 는 권한 문제를 해결하는 솔루션이 아님. 그러므로 필요에 따라 현명하게 사용할 것. (가능한 user 권한으로 해결할 수 있어야 함)
  • sudo 는 한번만 인증하면 그 이후는 생략한다.

✦ ls -al 명령어로 표기되는 상세내용 ✦

  • 접근 권한(읽기/쓰기/실행가능) 여부 확인이 가능함 (chmod 명령어 쓰기)
  • 링크된 파일 갯수
  • 소유자
  • 소유그룹
  • 파일 크기
  • 만든 날짜
  • 만든 시간
  • 파일/디렉토리 name

✦ 파일 소유권을 변경하는 명령어 ✦

[chown owner : group file]

✦ GUI 프로그램의 실행을 더 간편하게 할 때 쓰는 명령어 ✦

✦ 자주 사용하게 될 CLI 프로그램 ✦

  • 버전 관리 시스템인 Git
  • package Manager (프로그램 추가 / 삭제 할 때)
  • Ubuntu : apt
  • MacOs : homebrew
  • Windows : chocolatey
  • 텍스트 에디터인 vim
  • 클라우드 서비스 관리 AWS CLI

✦ 버전 관리 시스템 ✦
why use version control?

  • strong versions
  • Restoring Previous Versions
  • Understanding what happend
  • Collaboration
  • Backup

: 각각의 버전을 저장하고 다시 되돌릴 수 있다. 이 과정에서 자동으로 저장이 된다, (자동 백업 기능) 또한 어떤 변경사항이 있었는지도 확인 가능하다. 즉, 어떤 파일이 어떻게 바뀌었는지 설명하는 게 가능해진다.

✦ Git ✦

  • Version Control System 을 의미한다
  • github : social platform for git users.
    즉, 다른 사람들이 나의 코드를 보고 의견을 주고 받기가 가능해진다, 개발자들의 소셜 네트워크를 말한다.
  • 유명 오픈 소스에는 github가 항상 존재한다.

✦ Features ✦

  • Branching & Merging
  • Distributed (분산 시스템)
  • Data Assurance (데이터 보증)
  • Staging Area

✦ Git Workflow ✦

  • key terms
  • Staging Area : 이전에 충돌을 해결하거나 선택적으로 버전 관리를 받게 하기 위해 만들어졌다. 어떤 파일 혹은 디렉토리를 버전 컨트롤 시스템Version Control System 에 의해 버전관리를 받게끔 하려면 반드시 Staging Area 에 올려야 한다.

~ 기억해야 할 git 용어 정리 ~

✦ Staging Area ✦

  • commit 하는 명령어
ex) git commit -m "Add headline to index page" 

커밋 메세지를 잘 적어주면
1. 변경사항을 파악하기가 쉽고,
2. 다른 사람들과 효과적으로 작업할 수 있으며
3. 작업 기록을 추적하는데 유리하다.

✦ Repository ✦
기록과 작업 기록을 모두 포함하고 있는 개념을 말한다.

✦ Branching & Merging ✦
가지를 치는 것을 Branching
가지를 합치는 것을 Merging

✦ 꼭 기억해야 하는 Branch ✦
master : 사용자들이 버그 없는 프로그램을 사용하게 될 소스 코드
develop : 개발 중인 버전의 소스 코드 (충분한 테스트와 버그를 잡는 것이 중요함)
feature : 하나 하나의 기능들을 담고 있는 소스 코드

A. Repository 예시

B. Repository 예시 : 필요에 따라서 branch를 추가할 수도 있다.

Distributed : 분산 시스템

profile
일단 공부가 '적성'에 맞는 개발자. 근성있습니다.

0개의 댓글