2.[Git] 깃 기본 명령어 알아보기
깃/깃허브 소스 관리 기본 흐름
1. git init
===지역 저장소===
2. 작업 디렉토리
3. git add
스테이징 영역
4.git commit
지역 저장소
git push▽ / git pull△
===원격 저장소===
흐름 지역 저장소 -> 깃허브(원격 저장소)
git init
git add
git commit
git push
깃허브(원격 저장소) -> 지역 저장소
git clone - 전체 저장소 내려받기
git pull - 일부 변경 사항만 내려방기
.git
- .git - 폴더명 앞에 점이 있으면 숨겨진 폴더라는 뜻
- ls -a 폴더 내부가 보고 싶다면 숨김 폴더 파일 목록을 보여준다
- 지역 저장소로 관리하는 정보를 담는다
cd .git ls -l
- .git 폴더 내의 파일 및 폴더 목록을 확인
git init 취소
rm -rf .git
git config --global 모든 프로젝트에 사용자 정보를 등록하려면
git config --global user.name "사용자 이름"
git config --global user.email "사용자 주소"
깃 설정 파일
cat .git/config
원격 저장소 주소 복사
git remote add origin {복사한 원격 저장소 주소}
origin이라는 식별자로 원격 저장소 주소 등록
- .gitignore 파일 생성
git status
현재 프로젝트의 파일 상태 확인
깃 작업 트리
- 추적하는 파일(Tracked)과 추적하지 않는 파일(Untracked)을 구분
- 추적하는 파일의 상태를 구분
- 작업 디렉토리, 스테이징 영역, 지역 저장소
- git status로 추적상태를 알 수 있다
- Untracked Files
- Changes to be committed 스테이징 된 후
- unmodified
- 수정시: modified (git add 다시 하면 unmodified로 돌아감)
git log
현재 작업하는 브랜치의 커밋 내역을 보여준다
HEAD: 현재 작업하는 브랜치의 최종 커밋을 가리킨다
checksum: 커밋을 식별하는 고유한 데이터 단위
- git log로 확인 가능
- git log -p로 변경 내용 확인 가능
- git log 숫자로 원하는 갯수만큼의 커밋 보여주기
- git log -p -1
- git log --stat (insertion deletion을 보여줌)
- git log --pretty=옵션
- git log --pretty=oneline 한줄로 보여줌
- git log --pretty=oneline --graph 그래프도 보여줌
- git log --pretty=format: "%h %an %s"
커밋 메세지 수정 방법 #1
git commit --amend
수정
esc
:wq
enter
git log
커밋 메세지 수정 방법 #2
git commit --amend -m "수정 메세지"
커밋 파일 추가
git commit --amend --no-edit
기존 커밋에 새 파일을 추가하거나 이미 추가된 파일의 최신 버전을 반영해야하는 경우
에디터를 띄우지 않고 커밋 메세지를 수정
.gitignore 수정
git status
git add .gitignore
**git commit --amend --no-edit**
커밋 저자 수정
회사 깃 과 개인 깃을 한 컴에서 같이 사용할 때
git commit --amend --author "username <email>"
푸쉬하기
git push {저장소} {브랜치}
git push origin main
새로운 서버로 푸쉬하기
원격저장소가 여러개일 경우
- 깃허브에서 create repository로 새 원격 저장소를 하나 만듦
git remote add origin2 {2번째 원격 저장소 주소}
cat .git/config
git push origin2 main
원격 저장소 복제하기
처음 원격 저장소를 생성한 사람이 아닐 때 하나의 프로젝트를 대상으로 여러 개발자가 협업하는 경우
git clone "원격 저장소 주소" "새로운 저장소 이름"