https://git-scm.com/downloads
위의 경로를 통해 깃을 설치 할 것
깃에 사용자 이름과 이메일 등록하기 (영어로 할 것)
git config --global user.email "영어 이메일을 입력하세요" //git config --global user.email "google@gmail.com"
git config --global user.name "영어 이름을 입력하세요" //git config --global user.name "google"
초록색 : 스테이지
빨간색 : 언트랙드
스테이지드에서 언트랙드로 되돌리려면 git rm -- cached 파일일명.txt
모든 파일을 스테이지에 올리려면 git add . (한 칸 띄고 맞침표를 적는다)
스테이지에 폴더를 지우려면 git rm --cached -r 폴더명
.gitignore 스테이지에 올리고 싶지 않은 파일 및 폴더들은 여기에 관리해준다.
.gitignore (확장자 없음) 파일을 생성한 뒤 무시하고싶은 파일 또는 파일명 을 적어준다.
위의 사진같이 folder 폴더가 사라져있고 .gitignore 만이 남아있어
git add . 로 스테이지에 올려주었다.
.gitignore는 관리 해줘야 한다. 따라서 스테이지에 올려줌.
git commit
git commit 명령어를 치면 위와같이 파란 글씨가 나타는데
그 위에
1. Initial commit 이란 코멘트를 남겼고
2. esc를 눌러 빠져 나온 뒤
3. :wp (write , quit)를 하여 저장하였다.
또는
git commit -m "Initial commit" 명령어를 써도 똑같이 동작함
마스터 브랜치에 4개의 파일이 변경되었고, 4줄이 추가되었다.
git log 커밋한 로그 히스토리 볼 수 있음.
1. 커밋된 고유 id
2. 커밋 시간날짜
3. 커밋 코멘트
git checkout -- 파일명.txt
파일 1개를 수정한 경우 modified : 파일명이 뜬다.
수정을 되돌리려면 git checkout -- 파일명 을 입력한다(띄어쓰기 조심)
git commit -am 또는 git commit -a -m "커밋할 코멘트"
수정을 하고 커밋을 하려면 add를 한뒤 커밋을 해야하는데
이 과정을 하나로 합친 명령어
커밋 메시지는 미래의 나를 위한 메모이니 한 줄이라도 상세하게 적으면 좋다.
git diff
스테이지가 modified인 경우 diff를 사용해 수정 내역을 알 수 있다.
repository를 생성하면 나오는 아래 두줄의 명령어를 vscode의 터미널에 적어준다.
여기서 주의 해야할 점
나의 브랜치는 현재 master로 등록되어 있다.
따라서 위 사진의 명령어인 git push -u origin main을 할 경우
error: failed to push some refs to 'https://github.com/jiseong0612/test123.git'
와 같은 에러를 때려 맞기 때문에
git push -u origin master로 바꿔야 한다.
origin : 원격 이름 , master : 로컬 이름
git remote add origin https.... .git 으로 최초 1회 원격의 리포지토리와 연결해 준 후
그 다음부턴
git push origin master를 이용하여 로컬의 깃에서 원격의 깃허브로 푸시해주면 된다.( 가운데 -u 빼도 잘 됨)
git pull 명령어를 사용해 협업을 할 경우 원격의 리포지토리의 소스를 로컬의 나의 소스와 일치 되게 업데이트를 해준다.
이건 터미널의 문제 각각의 IDE가 다르므로 검색하여 해결
#실수로 커밋했다면?
git reset HEAD~1
head는 깃 커밋 목록의 최상단. 즉 가장 최근에 한 커밋
다만 수정했던 내용은 그대로 있고 커밋만 풀린다. 커밋 자체를 제거해버린다. 히스토리에 안 남음
git revert HEAD 실수로 한 커밋의 내역을 지우지 않고 과거로 돌아가면서 새로운 커밋을 남김 //reset은 아예 사라져버림
협업인 경우 revert를 쓰는게 깔끔