✨ 깃 구조
git의 구조는 위 그림과 같이 크게 3개로 나누어 집니다.
- 작업하고 있는 공간이 working directory
- 중간 저장하는 staging area
- 최종 제출하는 repository
cf) 우선 컴퓨터에 global로 자신의 username과 email이 등록되어 있지 않다면 등록해주세요.
(해당 컴퓨터에서 작업을 계속 한다면)
git config --global user.name {name}
git config --global user.email {email}
{name}에 github의 name을 쓰고 {email} 에 email을 작성하면 됩니다. {}는 적지 않습니다.
저장할 파일에는 git init 명령어를 통해 저장하면 해당 파일은 관리하고 있는 파일임을 의미합니다.
✨ 깃 명령어
1. 이제 working directory 에서 staging area로 옮기기 위한 방법입니다.
git add test.txt : test.txt를 올리는 방법입니다.
git add . : 파일 내 모든 파일을 올리는 방법입니다.
주의사항 : 항상 git status를 통해 파일 상태를 확인하고 올리는 것을 추천합니다.
2. staging area에 올라간 파일을 repository에 올리는 방법입니다.
git commit -m "1st commit" : 커밋 메세지로 1st commit 을 기록합니다.
git push -u origin master : master로 파일을 올리기( master 상태라면 git push 를 주로 사용합니다)
주의사항 : git push를 하기 전에 해당 파일에 변동이 있을 수 있으므로 git pull로 최신화를 시킨 다음 push하기를 추천합니다.
! 이해하기 : git pull에 실패한다면 .. 저도 처음에 실수 많이 했어요 ㅜㅠ..
1. 제일 쉬운 방법은 파일을 지우고 다시 clone받은 다음 필요한 파일을 넣고 git push하는 방법
2. 두번째 방법은 다른 사람에 의해 변동된 파일 또는 다른 컴퓨터에서 변동된 파일에 내가 작업한 경우 서로 충돌되서 생기는 문제입니다.
따라서 최근에 변경된 파일을 지우고 pull받은 다음 변경하고 push하는 방법입니다.
만약 경고를 무시하고 push하는 경우 기존의 파일내용이 훼손될수 있습니다. (그럼 github history가서 열심히 베껴야 되요)
3. 세번째 방법은 branch를 만들고 깃허브 또는 master에서 merge하는 방법입니다. merge하는 방법은 이후에 올리겠습니다.
cf) 상태 확인하는 방법
1. status
>> changes not staged for commit 은 Staging Aria에 있는 파일을 의미 합니다.
>> no changes added to commit 쪽 파일은 Working Area에 있는 파일을 의미합니다.
git status : 현재 Git의 상태를 보여주는 명령어
git log : 커밋한 기록을 조회하는 명령어
git log --oneling : log를 한줄로 보여주는 명령어
✨정리하기
local ———-push——→ Github
←—pull / clone—
local에서 github로 올리기 위해서 push를 사용하고
github에서 local로 받기 위해서 처음에는 clone 이후에는 pull로 받습니다.
'기술 스텍 > Git' 카테고리의 다른 글
Git License, issue처리 (0) | 2023.07.28 |
---|---|
Git Merge 명령어에 대한 설명과 처리방법 (0) | 2023.01.17 |
4. git 기초 - 추가 기능(global 삭제, 추가 코드) (0) | 2022.12.25 |
2. Git 기초 (1) (0) | 2022.12.25 |
1. Git 설치하기 (0) | 2022.12.15 |