리눅스와 Git(4일차)

이상우·2021년 8월 9일
0

오늘은 리눅스와 Git에 대해 배웠다. 리눅스는 운영체제인것만 알고 있고, git은 프로그래밍 공부를 시작하면서부터 알고만 있었지, 어떻게 사용하는지 실제로 사용한적이 없었다. 오늘 목적은 간단하게 리눅스가 어떤 것인지 그리고 Git 사용방법에 대해서 알면 된다.

리눅스

리눅스(Linux) 는 리누스 토르발스가 커뮤니티 주체로 개발한 컴퓨터 운영체제이다. 리눅스(Linux)는 UNIX운영체제를 기반으로 만들어진 운영체제이다. 리눅스(Linux)는 유닉스(UNIX)와 마찬가지로 다중 사용자, 다중 작업(멀티태스킹), 다중 스레드를 지원하는 네트워크 운영 체제(NOS)이다. 리눅스의 원형이 되는 UNIX가 애초부터 통신 네트워크를 지향하여 설계된것처럼 리눅스 역시 서버로 작동하는데 최적화되어있다. 고로 서버에서 사용되는 운영체제로 많이 사용되고 있습니다.

리눅스 vs 유닉스

유닉스

  • 서버에 특화된 운영체제
  • 서버에 특화된 운영체제이기 때문에 포털이나 대기업의 서버에 사용되며, 보안성이 매우 뛰어나다.
  • 대표적인 유닉스: Oracle Solaris

리눅스

  • 유닉스에서 파생된 운영체제
  • 대표적인 리눅스: Ubuntu, RedHat

리눅스의 특징

  1. 리눅스는 유닉스와 완벽하게 호환가능하다.

  2. 리눅스는 공개 운영체제입니다. 오픈소스이므로 누구든지 자유롭게 수정이 가능하다.

  3. 리눅스는 PC용 OS보다 안정이며 보안쪽면에서도 PC용 OS보다 비교적 우수한 성능을 가지고 있다.

  4. 리눅스는 다양한 네트워킹 기술을 제공하고 있으며 서버용 OS로 적합하다.

  5. 배포판이 아닌 리눅스 그 자체는 무료이다.

  6. 오픈소스이기 때문에 버그가 발생하면 많은 기관, 사용자들이 나서서 보완하기 떄문에 커뮤니티 활성화로 정보를 얻기에 용이하다.

Github 기본 개념

깃(Git) : 컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 분산 버전 관리 시스템. 소프트웨어 개발에서 소스 코드 관리에 주로 사용.
깃허브 : 소프트웨어 소스코드 관리 서비스. 소스코드를 자유롭게 열람할 수 있고, 버그 관리, share 등 sns 기능도 있음.
Repository (저장소) : 로컬저장소, 원격저장소로 나뉜다.
로컬저장소 → 자신의 컴퓨터에 있음.
원격저장소→ 서버, 네트워크에 위치, 깃허브가 여기에 해당
기본적으로 로컬저장소에서 작업을 수행하고, 그 결과를 원격 저장소에 저장함.

용어정리

커밋(commit) : 로컬 저장소에 파일 저장(갱신) . 프로젝트 중 하나의 지점(복원, 재작성) 등이
푸시(push) : 로컬 저장소 -> 원격 저장소에 파일 업로드(갱신)
풀 (Pull) : 원격 저장소 -> 로컬 저장소로 파일 다운로드(동기화)
브랜치 (branch) : 여러 버전을 관리하기 위함. 즉, 출시하고 있는 버전에 새로운 기능 추가 및 버그 수정이 용이하다
스냅샷 : 컴퓨터 파일 시스템에서 과거의 한 때 존재했던 컴퓨터 파일과 디렉터리 모임. 쉽게 말해서 개발버전
커맨드 라인 (Command Line) : 윈도우의 명령 프롬프트, 맥의 커맨드 처럼 텍스트 기반의 명령어를 사용하는 프로그램. 깃에서는 깃 배쉬를 의미하는 듯 하다.
포크 (fork) : 다른 원격 저장소에서 또 다른 원격 저장소로 복사.
되돌리기 (Roll back) : 이전의 커밋 포인트 (Commit point), 즉 과거 버전으로 돌리기 위한 기능. reset과 revert 기능이 있다.
리셋 (reset) : 돌아 가려는 커밋으로 저장소의 정보는 돌아가고, 커밋 이후의 이력은 사라진다.
되돌리기 (revert) : 돌아 가려는 커밋으로 돌아가지만, 수정 후 커밋 버전도 저장하고 있는 상태.
참고) 다만, 원격 저장소가 더 최신의 파일을 가지고 있는 경우 Force(강제) 옵션을 사용하지 않는 한 푸시가 불가능하다는 단점이 있다. 이런 경우 revert를 통해 과거 커밋으로 돌아가야 한다.
클론 (Clone) : 현재 만들어져 있는, 혹은 누군가 만들어 둔 오리진(깃 서버)의 저장소를 로컬로 가지고 온다는 의미.

자주 사용하는 Git 명령어

git init : 깃 초기화
git config --global user.name "유저 이름" : 깃 사용자 이름 설정
git config --global user.email "이메일 주소" : 깃 사용자 이메일 설정
git config --global core.editor "vim" : 커밋 편집에디터를 vim으로 변경하기
git add 특정파일명 : 특정파일을 스테이징 하기
git add . : 전체 파일 스테이징 하기
git commit -m "메세지 내용" : 메세지와 함께 커밋하기
git commit -am "메세지 내용" : 스테이징과 커밋을 메세지와 함께 올리기
git commit --amend : 방금 커밋한 메세지 수정하기
git branch : 브랜치 확인
git branch 브랜치이름 : '브랜치이름'으로 브랜치 만들기
git branch -d 삭제할브랜치이름 : 브랜치 삭제(마스터 브랜치에서 해야한다.)
git checkout 브랜치이름 : '브랜치이름'으로 브랜치 이동
git log 브랜치1 ..브랜치2 : 브랜치1과 브랜치2사이의 차이점 보기
git merge 병합할브랜치이름 : 브랜치 병합
git log : 커밋 기록 보기
git log --stat : 커밋 기록을 커밋에 관련괸 파일과 함께 보기
git log --oneline : 로그를 한줄로 표기
git log --oneline --branches : 각 브랜치의 커밋을 확인
git log --oneline --branches --graph : 그래프 형식으로 표현
git status : 깃 상태 확인
git diff : 깃 변경 내용 확인
git checkout --파일이름 : 작업트리에서 수정한 파일 되돌리기
git reset HEAD 파일이름 : 스테이징 취소
git reset HEAD^ : 최신 커밋 취소
git reset 커밋해시 : 특정 커밋으로 되돌리기
git stash : 지금 하던 작업을 임시로 저장하기
git stash list : stash 목록 확인하기
git stash apply : git stash로 저장했던 작업 가져오기
git stash drop : stash 제거하기
git stash clear : 임시로 저장했던 stash 모두 제거
git stash show -p | git apply -R : 실수로 잘못 stash 한거 되돌리기
git remote add origin 원격저장소주소 : 원격 저장소에 연결
git remote -v : 원격 저장소에 잘 연결되었는지 확인
git push -u origin master : 지역 저장소의 브랜치를 원격 저장소의 마스터 브랜치와 연결 (한번만 하면됨)
git push : 원격 저장소에 올리기
git clone 원격저장소주소 지역저장소디렉토리 : 원격저장소 가져오기
git pull origin master : 원격 저장소의 내용을 지역 저장소의 마스터브랜치로 가져오기
git fetch : 원격 저장소의 브랜치 변화 정보만 가져오기

느낀점

참고 사이트

https://coding-factory.tistory.com/318-리눅스란 무엇인가?
https://kkhipp.tistory.com/148- 리눅스 vs 유닉스
https://velog.io/@taeha7b/git-command - Git 명령어 정리
https://pleasurehwang.tistory.com/17 - 깃헙 기본개념

profile
구상한것을 구현할 수 있는 개발자가 되고 싶습니다.

0개의 댓글