목차
깃노트 2번에서도 언급했지만 깃은 코멘드에서 배우는 것이 제일이다.
직관적이게도 깃 명령어는 git + 명령어 형태이다. 예: git add, git commit, git config
자세한 내용은 홈페이지 다큐멘테이션 참고 : https://www.git-scm.com/docs
Git - Reference
Reference
www.git-scm.com
▷ git config --list
.gitconfig 안에 깃 모든 설정이 저장되기 때문에, 깃에 현재 모든 내용을 볼 수 있음. q를 눌러 빠져나오기.
▷ git config --global -e
gitconfig을 edit모드로 여는 것. (터미널에서 열릴 수도 있고, 텍스트 에디터에서도 열릴 수 있음.)
▷ git config --global user.name <사용자이름>
사용자이름을 ""형태로 지정. 예: git config --global user.name "Blaire Cho"
▷ git config --global user.email <사용자이메일>
사용자이메일을 ""형태로 지정. 예: git config --global user.name "smilemask92@hotmail.com"
▷ git config user.name
설정된 유저네임 확인
▷ git config user.email
설정된 유저이메일 확인
▷ git config --global core.autocrlf true
윈도우즈 사용자라면 반드시 해야할 설정. (협업할 때 CRLF 문자 개행 법이 윈도우와 맥이 충돌이 되는 것을 방지)
▷ git config --global core.autocrlf input
맥 사용자라면 반드시 해야할 설정. (협업할 때 CRLF 문자 개행 법이 윈도우와 맥이 충돌이 되는 것을 방지)
▷ pwd
현재 폴더의 주소
▷ cd <이동하고싶은 하위 폴더명>
cd는 change directory란 뜻. cd 뒤에 붙은 폴더로 이동한다. (현재 디렉토리 내 있는 하위 폴더여야 한다.) 예: cd projects.
▷ cd ..
상위 폴더로 이동
▷ git init
현재 폴더 디렉토리에서 깃 초기화 하기. 현 디렉토리당 최초 한 번만 필요.
만약 이미 초기화된 폴더에서 다시 한 번 git init을 외치면 reinitialize라고 뜬다.
깃 초기화를 하고나면 현재 폴더내에서 .git이라는 숨김폴더가 생성된다.
▷ git ignore
현재 폴더 내 모든 파일들을 다 깃으로 관리하고 싶지 않을 때, 그래선 안될 때 (보안파일 및 쓸데없는 로그파일 등) 버젼관리에서 제외할 애들 설정.
git ignore 관련해서는 아래 글도 참고하자
▷ git status
현 깃 프로젝트의 상태를 보여준다. git init이라고 외친 후에야 git status라고 말하는 의미가 있다. 내가 깃 초기화 후 추가하거나 수정한 파일은 없는지 확인 가능.
▷ ls -al
폴더 안에 모든 내용. 만약 ls라고만 하면 숨김 처리된 파일/폴더는 보이지 않는다. (이름 맨 앞에 점이 붙은 것들은 숨김 폴더/파일이다.)
즉 ls -al이라고 했을 때에만 .git이란 폴더와 .gitignore이라는 파일이 보인다. 참고로 이 .git은 git init이라는 명령을 외쳤을 때 생성된다.
이 폴더는 깃의 이력(history)과 설정(configuration)파일이 저장되는 곳 이기 때문에 삭제 금지. (삭제는 타임머신을 부수는 행위)
▷ open <파일 또는 폴더명>
폴더나 파일을 연다. 숨겨진 폴더/파일이라도 열 수 있다. 예: open .git
▷ open .
현재 내가 있는 위치의 디렉토리를 연다.
▷ rm -rf <파일 또는 폴더명>
폴더나 파일을 지운다. rm는 remove에서 따온 듯. 만약 rm -rf .git을 하면 이제 더 이상 깃프로젝트가 아니게 된다. (타임머신 부수기)
알다시피 타임머신을 재생성하고 싶다면 git init을 하면 된다.
▷ git config --global alias.<별칭> <명령어>
특정 명령어가 너무 길어서 치기 번거로울 때 별칭을 만드는 행위이다. 파이썬 코드라면 pandas as pd라고 하는 꼴이랄까?
예: git config --global alias.st status 라고 한다면 이후 st만 쳐도 status로 알아먹는다.
▷git diff
직전과 현재를 비교하여 변경 사항을 알려준다.
▷echo <원하는 문자열> > <파일명>
원하는 문자열을 특정 파일로 신규 저장 생성. 예: echo Hello World > a.txt
▷git commit -m <"메세지">
git을 <원하는 커밋메세지>를 넣어서 커밋하는 것이다. 메세지는 양쪽에 큰따옴표를 붙인다. 예: git commit -m "first commit"
커밋할때 메세지가 필수인 것은 아니니, git commit이라고만 해도 좋다.
▷git commit -am <"메세지">
git add와 git commit을 한꺼번에 수행하는 작업이다. 새로 추가된 untracked된 파일이 없을 때만 가능하다.
만약 깃이 모르는 신규파일이 있다면, 해당 파일을 git add로 깃이 알게 해준 다음 git commit을 해야지, 동시에 git commit -am 불가.
★ 학습에 도움을 받은 강의들 (가나다순) ★
생활코딩 : https://www.inflearn.com/course/git-2#curriculum
드림코딩앨리 : https://www.youtube.com/watch?v=Z9dvM7qgN9s
알코 : https://www.yalco.kr/55_git_github/