Git

jingjinge·2024년 12월 27일

ASAC_07

목록 보기
5/13

Shell

하드웨어를 직접 다루긴 어려운데.. 좋은거 없나? -> 운영체제
운영체제를 직접 다루기도 어려운데.. 명령어 없나? ->Shell(bash, zbash)


리눅스 쉘 명령어 모음

1. 디렉토리 및 파일 여행

  • pwd: 현재 디렉토리의 절대경로를 출력합니다.
  • ls: 디렉토리 내에 있는 파일들을 조회합니다.
  • ls -la: 모든 파일을 상세하게 표시합니다.
  • ll: ls -l과 동일합니다.
  • cd: 디렉토리를 이동합니다.
  • 이전 디렉토리로 이동: cd ..
  • 상대경로로 이동: cd ./x
  • 절대경로로 이동: cd /x

2. 디렉토리 및 파일 조작 (생성, 이동, 삭제)

  • mkdir : 새 디렉토리 생성
  • rm : 디렉토리 혹은 파일 삭제 | rm -rf (r 리컬시브, 내부에 있는 디렉토리들 모두, f 강제로 삭제)
  • cp : 디렉토리 혹은 파일 복사 | cp 혹은 cp -r (r 리컬시브, 내부에 있는 디렉토리들 모두)
  • mv : 디렉토리 혹은 파일 이동 혹은 명칭 변경
  • touch : 아무것도 없는 빈 파일 생성

3. 파일 출력

  • cat : 파일 출력
  • echo : 문자열 출력, 일반적으로 환경변수 값을 확인하는데에 사용 | echo $ZSH_CUSTOM
    • 단발적 환경변수 설정 : export ZSH_CUSTOM="Hello, World" (영구 설정은 .zshrc 내 할 것)
  • head : 파일 첫 라인 출력 | head -n 10 제외 가능 head -10
  • tail : 파일 끝 라인 출력 | tail -n 10 혹은 실시간 로그 조회 시 tail -f -n 10 (10번째부터)
    • Apache 웹서버 로그 : tail -f /var/log/apache2/access.log
    • Nginx 웹서버 로그 : tail -f /var/log/nginx/access.log
      • 맥북 Nginx 로그 조회 실습 : tail -f /usr/local/var/log/nginx/access.log
    • Tomcat 웹서버 로그 : tail -f /var/log/tomcat/access.log / catalina.out

Git

내가 Git을 처음 다뤄본건 2022년부터였다.
Express.js를 다루는 팀 프로젝트에서 코드를 공유할 일이 있었고 Git을 다룰줄 아는 팀원이 있어 도움을 많이 받아 CLI와 Git graph를 입문했다.

왜 필요할까?

내가 가장 크게 체감한건 두 가지였다.

  1. 코드 다 만들었어! 카톡으로 보낼게! -> 코드 다 만들었어! 커밋할게 리뷰하면 머지할게!
  2. 오픈 소스 공유

자세하게 알아보자

로컬 코드 및 협업시 문제 관리

  • 버전 관리
    • 코드를 작성 후 커밋해두면 해당 버전이 저장이 됨
      • 필요할 때 다시 돌아갈 수 있음! 안전
  • 중앙 코드 관리
    • 컴퓨터를 잃어버렸다.. 내 코드 어쩌지..를 방지하기 위해 코드를 저장
    • 코드 다 만들었어!!! 카톡으로 보낼까?? -> Git Push해줘 Pull할게~

Local, Remote Branch 관리

  • 모든 Local에서 모든 Remote(원격 브랜치)를 관리 가능하다!
    • Remote
      • fetch: 어디서 다운로드 받을 것인가
      • push: 어디로 업로드 할 것인가
      • Remote 관리 명령어 : CRUD 기준
        • Read 조회 : git remote -v
        • Create 추가 : git remote add origin
        • Update 갱신
          • 전체 변경 : git remote set-url origin git@github.com:example/example.git
          • 일부 변경 : git remote **set-url --push origin** git@github.com:example/example.git
        • Delete 삭제 : git remote remove origin

Local - Remote 동기화

Pull = Fetch(코드 가져오기) + Merge(Remote -> Local)

Conflict 해결 방법

Rebase & Merge

  • Merge: Local -> Remote로 병합 후 충돌 해결
  • Rebase: Remote -> Local로 병합 후 충돌 해결, Remote에 반영

2개의 댓글

comment-user-thumbnail
2024년 12월 27일

그림이 너무 아기자기하네요~

1개의 답글