소피it블로그

[Terminal/Git] 맥 터미널 주요 명령, 깃 사용법 정리 본문

개발_기타

[Terminal/Git] 맥 터미널 주요 명령, 깃 사용법 정리

sophie_l 2022. 8. 15. 12:49

참고자료: http://www.yes24.com/Product/Goods/84803146

 

Do it! 지옥에서 온 문서 관리자 깃&깃허브 입문 - YES24

생활코딩 강의에서 52개를 엄선, 한 권 안에 자주 쓰는 기능은 모두 담았다.문서 지옥, 깃&깃허브로 하루 안에 탈출한다!본서는 대학생, 개발자, 일반 사무직까지. 문서 지옥에 빠진 모두를 위한

www.yes24.com

팀프로젝트에서 몇 번 깃허브를 통해 협업하다 보니 처음에는 뭔 소린지 1도 모르겠던 것이 대충 어느정도 알 지경은 되었으나, 체계적인 정리가 필요하다는 생각이 들었고 무엇보다 깃헙 데스크탑이 아닌 터미널로 깃을 사용해보고 싶다는 생각이 들어 예전에 구매해뒀던 이북을 펼쳤다. 내용이 얼마 되지 않아 하루만에 다 읽었는데 굉장히 깔끔하게 정리되어있고 쉽게 따라할 수 있는 책이라 많은 도움이 되었다.

이북이라 필기를 따로 못해서 책에서 새로 배운 내용들을 정리할 겸 블로그에 적어두려고 한다. 이하의 내용 대부분은 책 각 장의 마지막 부분을 참고했고, 내가 기억하기 편하기 위해 몇 가지 간단하게 생략하거나 추가한 부분도 있다.

 

1. 터미널 기본 명령

 

  • 홈 디렉터리로 이동: cd ~
  • 새 디렉터리 my_directory 생성:  mkdir my_directory
  • my_directory로 이동: cd my_directory
  • 부모 디렉터리로 이동: cd ..
  • 현재 경로: pwd
  • 디렉터리 내용: ls
  • 디렉터리의 상세 정보 포함 내용: ls -l
  • 디렉터리의 숨김 파일, 디렉터리 포함 내용: ls -a
  • 하위 디렉터리 my_directory 삭제: rm -r my_directory
  • 빔 사용하여 텍스트파일 text.txt 생성: vim text.txt
  • text.txt 내용 터미널 내에서 보기: cat text.txt
  • 빔 사용하지 않고 텍스트파일 text2.txt 생성: touch text2.txt
  • text2.txt 열기: open text2.txt
  • 현재 디렉터리 열기: open .
  • 터미널 내용 지우기: clear
  • 터미널 종료: exit

이때, vim text.txt를 작성하고 엔터키를 누르면 다음과 같은 화면이 뜬다.

 

당황하지 말고 shift + I 혹은 shift + A를 누르자. 그러면 Insert 모드가 되면서 텍스트를 수정할 수 있게 된다.
파일 수정이 끝나면 esc 키를 쳐서 나간 후 :wq로 저장하고 터미널 창으로 돌아가면 된다.
cat 명령어를 통해 텍스트파일을 오픈하지 않고도 터미널 창에서 바로 볼 수 있다.

2. 깃 기본 명령

 

  • 깃 환경에서 유저 이름 설정: git config user.name "myname"
  • 깃 환경에서 유저 메일 설정: git config user.email "myemail@email.com"
  • 현재 위치에 로컬 저장소 만들기: git init
  • 깃 상태 확인: git status
  • sample1.txt 파일 스테이징 에리어에 올리기: git add sample1.txt
  • 커밋 메시지 "add 1"을 붙여 커밋하기: git commit -m "add 1"
  • 커밋 메시지 "add 2"를 붙여 스테이징과 커밋 동시에 하기(이미 한 번 커밋을 올려 tracked 된 파일일 때만 가능): git commit -am "add 2"
  • 커밋 정보 확인: git log
  • 최근 버전과 수정 파일의 차이: git diff
  • 지정한 커밋 해시로 이동: git checkout commithash
  • 최근 커밋 취소: git reset HEAD^
  • 지정 커밋 해시로 이동 후 이후 커밋 취소: git reset commithash
  • 지정 커밋 해시의 변경 이력 취소: git revert commithash

3. 브랜치 관련 명령

 

  • 브랜치 목록 확인하기: git branch
  • 새 브랜치 new-branch 생성: git branch new-branch
  • new-branch로 이동: git checkout new-branch
  • 커밋 로그에서 한 줄에 한 커밋씩 표시: git log --oneline
  • 수정한 전체 파일을 스테이징하기: git add .
  • 커밋 로그에 각 브랜치의 커밋 그래프로 표시: git log --branches --graph
  • new-branch를 master 브랜치에 병합(병합 전에 master 브랜치로 체크아웃 해야함): git merge new-branch
  • new-directory 디렉터리를 생성하는 동시에 지역 저장소로 만들기: git init new-directory
  • 현재 커밋을 다른 브랜치에 있는 commit1으로 되돌리기: git reset commit1 commithash
  • 병합이 끝난 new-branch 삭제: git branch -d new-branch
  • 작업 트리의 수정 내용을 감추기: git stash
  • 보관했던 수정 내용을 꺼내오기: git stash pop

4. 원격 저장소 연결 관련 명령

 

  • 리모트에 연결: git remote add origin remoteaddress
  • 리모트 연결 확인: git remote -v
  • 로컬 저장소의 커밋을 맨 처음 리모트로 올리기: git push -u origin master
  • (처음 한번 올린 후)로컬 커밋을 리모트로 올리기: git push
  • 리모트의 커밋을 로컬로 가져오기: git pull
  • SSH 키 생성: ssh-keygen
  • 리모트를 local이라는 로컬 저장소로 복제: git clone remoteaddress local 
  • 리모트의 커밋을 가져오기만 하고 병합하지 않음: git fetch
  • 페치로 가져온 정보가 있는 브랜치로 이동: git checkout FETCH_HEAD
  • 페치로 가져온 정보가 있는 브랜치를 master 브랜치에 병합(master 브랜치로 체크아웃 먼저 한 후에 해야 함): git merge FETCH_HEAD
  • new-branch 생성과 체크아웃 동시에 하기: git checkout -b new-branch
  • 리모트에 f 브랜치의 커밋 올리기: git push origin f

마지막으로 정말 별 거 아니지만 누군가에겐 도움이 될 수 있는 이야기를 덧붙이자면, 나는 예쁜 것을 워낙 좋아하는지라 터미널의 날것 그대로인 모습이 참 맘에 안들었었는데 색깔이랑 폰트만 내가 원하는 대로 수정했더니 터미널 작업이 훨씬 즐거워지는 마법을 경험했다. 터미널의 밋밋한 디자인이 싫은 사람은 대충이라도 꾸며보는 것을 추천.

https://www.dafont.com/elegant-typewriter.font

 

Elegant Typewriter Font | dafont.com

 

www.dafont.com

내가 좋아하는 타자기 느낌의 폰트 링크를 추가하는 것으로 오늘은 여기까지 끝 -!

 

https://github.com/0nn0/terminal-mac-cheatsheet/tree/master/%ED%95%9C%EA%B5%AD%EC%96%B4

 

GitHub - 0nn0/terminal-mac-cheatsheet: List of my most used commands and shortcuts in the terminal for Mac

List of my most used commands and shortcuts in the terminal for Mac - GitHub - 0nn0/terminal-mac-cheatsheet: List of my most used commands and shortcuts in the terminal for Mac

github.com

++ 진짜진짜 마지막으로 맥 터미널 치트시트 링크까지만 올리겠다..