[GIT]깃, 깃허브 제대로 배우기 (기본 마스터편, 실무에서 꿀리지 말자) - 요약
이번 게시글 포함 이번 깃 관련 블로그 글은 유튜버 드림코딩님의
[깃, 깃허브 제대로 배우기(기본 마스터편, 실무에서 꿀리지 말자)]의 요약본임을 알립니다.
*
<깃 설명>
깃은 협업툴
깃은 명령어 프로그램이기 때문에 terminal에서 command를 잘 알아야 쓸수 있다.
물론 깃 공식홈페이지에서 여러가지 어플리케이션(GIT UI)도 마련되어 있다,
git 어플리케이션 : github desktop< source tree /gitkraken(화려한 UI 좋아하는 사람들에게 추천)
권장 : Terminal + source tree + 상황에 따라 ETC..
-> 초보자는 Terminal 이용하여 직접 명령어 써보는 것 추
<깃 설정하기>
0. 깃 환경설정
-> 깃을 설치하게 되면 깃에 관련된 모든 환결설정이 .gitconfig라는 파일에 저장됨.
git config --list
git config --global --e
-> 터미널에서도 텍스트 에디터(--e)로 목록 확인해볼 수 있음
code .
-> 터미널에서 .code 입력 시 현재 디렉토리가 연결된 코드 프로그램(ex.비주얼스튜디오코드)로 연결
git config --global core.editor "code"
git config --global -e
#코드 에디터로 config코드 볼 수 있으면서 동시에 터미널 계속 다음 코드 입력받기 위한 상태로 유지됨
git config --global core.editor "code --wait"
git config --global -e
#코드 에디터로 config코드 볼 동안(에디터가 종료되기 전까지)에는 터미널은 코드를 입력받지 않는 Wait상태.
1. git에 이름, 이메일 등록
2. autocrlf 설정

autocrlf 설정 이유 :운영체제마다 새로운 줄바꿈을 할 때 들어가는 문자열이 다른데, 위 차이점이 깃 사용 시 영향을 주지 않도록 만들기 위해 설정하는 것임
- 윈도우 : text \r\n
-> - 윈도우 : git config --global core.autocrlf >>True
- 맥(리눅스) : text \n
-> - 맥 : git config --global core.autocrlf >> input
깃 명령어 구조
git + 속성
예시 ) git config --h
-> 간단한--속성 확인 가능
공부 포인트로 잡아야 할것
1) git 주요 명령어
2) git 다음에 오는 option 명령어
#git 공식 홈페이지 ->reference->주요 명령어 및 option 참고할 수 있음
-> 자주 쓰는 명령어 참고하는 방식으로 활용하기!!
깃 초기화
- 깃 초기화
git init(초기화)하면 master브랜치가 형성됨. master 브랜치는 우리가 앞으로 사용하게 될 주력 branch임.
git rm -rf .git 하면 깃 초기화 가능
깃 Workflow 이해
깃 작업환경 종류
1. working directory (수정,저장이 가능한 곳)
1-1 untracked
1-2 tracked (깃은 한번이라도 커밋한 파일의 수정여부를 계속 추적함)
1-2-1 unmodified
1-2-2 modified
2. Staging area(파일을 버전으로 만들고 싶을 때 넣는 곳)
3. .git directory(Repository; 스테이지에 있던 파일을 저장소로 commit함 )
* commit : 깃 버전을 만드는 것
깃 명령어
- commit : 2 --> 3
- checkout : 1<-- 3
- add :파일을 working directory -->staging area로 옮김
git add * : 디렉토리에 있는 모든 파일 Staging area 로 이동
- echo : vim과 유사한 역할. 텍스트 추가하는 명령어
- start (윈도우) : 에디터 열기
- push : 3(로컬 디렉토리) --> git history(서버 디렉토리)
깃 히스토리 저장 위해 git directory LOCAL에서 git directory 서버(EX.깃허브)에 PUSH명령어로 업로드 해놓을 수 있음
- pull : 3 <-- git history
- rm : 파일 삭제
git rm --cache : 원격 저장소에 있는 파일 삭제
cf) git rm : 원격 저장소와 로컬 저장소에 있는 파일 삭제
- gitignore : "트레킹 하고 싶지 않은 파일 있을 때 .gitignore파일에 넣기
echo *. log > .gitignore
- ls -al : 숨겨진 파일까지 모두 list로 보기
- git status -h
status를 좀 더 자세히 볼 수 있음
- git status -s
간단한 short status
- git diff : working directory에 있는 파일만 보기
- git diff --staged == git diff --cached : staged area에 있는 파일 보기
- git difftool : 에디터로 연걸하여 열기,
각각의 커밋에는 스냅샷에 따라 고유한 해시코드가 부여되는데 이를 이용해 버전 정보를 참조할 수 있음
스냅샷이 갖고있는 정보 : author/ message/ date/time
-----------------------------------------------------------------------------------------------------------------------------------------------------------
* TIP :
- 터미널에서는 ↑방향키 (上 방향키)를 누르면 이전 작성했던 명령어 재활용 가능
- 세분화 작업이 필요할 때 UI에디터(ex. source tree)이용해도 좋음.
- css, log파일도 추가 가능
번외 ) * open명령어 오류 해결방법
open : 'open' 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그
램 이름으로 인식되지 않습니다. 이름이 정확한지 확인하고 경로가 포함된 경우
경로가 올바른지 검증한 다음 다시 시도하십시오.
--> 유효하지 않은 명령어라는 뜻. 운영체제(윈도우, 리눅스)에 따라 명령어 차이가 있으니 해당 오류가 뜰 때는 명령어가 맞는지 확인하기

+)해야할 것
- 기본 경로를 git 이라는 최하위 디렉토리로 설정하는 법 알아보기
- git config --global --e 명령어 분석해보기
- difftool 오류나는 이유 알아보기
- commit 단계 정리하기
- 티스토리 코드 단축기 알아보기
- Powershell이외에 branch 구별되는 에디터 찾아보기